1. Technical Field
The invention relates to the processing of audio signals. More particularly, the invention relates to a method and apparatus for removing or isolating voice or instruments on stereo recordings, and further relates to a training-based method and apparatus for removing or isolating voice or instruments on stereo recordings.
2. Description of the Prior Art
There are many situations in which we have a stereo recording of many voice or music sources mixed together, but we wish to listen to only one of those sources. In music, we may want to remove the lead vocals to perform karaoke, so that a new singer can seem to sing with the rest of the instruments or voices on the recording. In speech, we may have a recording that contains many independent or quasi-independent voices, and we wish to listen to only one. Separating this one voice out has been called the cocktail party problem.
Existing systems that try to solve these problems suffer from several problems:
We have several reasons to extract any voice or instrument on a recording. For example, we may then listen to it separately, re-mix or re-pan it on another recording, or analyze it using speech or pitch recognition software.
In the source separation community, the demixing of N sources from two channel (stereo) input is termed underdetermined source separation when N>2.
Underdetermined sound source separation systems perform four steps in general:
The invention herein disclosed focuses primarily on the demixing stage, which occurs after the mixing parameters are known.
A first embodiment of the invention provides a method and apparatus for attenuating or amplifying voice or other signals present on a stereo audio recording that uses frequency domain techniques to calculate a time- and frequency-dependent gain factor, based on the input panning and phase information in the recording, and optionally outputs the original recording's phase and/or panning information.
A further embodiment of the invention provides a method and apparatus for attenuating or amplifying voice or other signals present on a stereo audio recording that uses training-based frequency domain techniques to calculate a time- and frequency-dependent gain factor, based on the input panning, phase offset, and magnitude information in the recording, and optionally outputs the original recording's phase and/or panning information
A first embodiment of the invention provides a method and apparatus for attenuating or amplifying voice or other signals present on a stereo audio recording that uses frequency domain techniques to calculate a time- and frequency-dependent gain factor, based on the input panning and phase information in the recording, and optionally outputs the original recording's phase and/or panning information.
A further embodiment of the invention provides a method and apparatus for attenuating or amplifying voice or other signals present on a stereo audio recording that uses training-based frequency-band specific frequency domain techniques to calculate a time- and frequency-dependent gain factor, based on the input panning, phase offset, and magnitude information in the recording, and optionally outputs the original recording's phase and/or panning information.
The discussion herein commences with a description of the first embodiment of the invention, as outlined above, and then proceeds with a discussion of the further embodiment. It will be appreciated that, while the invention is discussed herein in connection with stereo audio recordings, that this discussion is for purposes of example only and is not intended to be limiting. Thus, a person skilled in the art will understand that the invention may be practiced with audio other than recorded audio and that the invention may be adapted for use with multi-channel schemes other than stereo.
Attenuating or Amplifying Voice of Other Signals Present on a Stereo Audio Recording
A key aspect of the invention is the recognition by the inventor that input data points that appear to be coming from the direction of one source are assigned to that source, with a lesser fraction of the energy assigned as the input data point's direction varies from that of the source. It should be noted that it is not true in 100% of cases that a lesser fraction of the energy assigned as the input data point's direction varies from that of the sources. This is an intuitive way to describe what generally happens in these systems.
This may be viewed as a nonlinear system that operates as follows (see
1. Take a stereo audio signal 14a, 14b as input.
2. Perform a complex spectrogram (Short Time Fourier Transform, or STFT) decomposition 15 on each channel, obtaining both the magnitude and phase for each point (frame t and frequency ω). Call the complex-valued left and right channel spectrograms X1(ω, t) and X2(ω, t), respectively.
3. Estimate (detect 16) the panning parameter {circumflex over (Θ)}=arctan (|X2/X1|) and the phase offset between channels
at each spectrogram point. Using these data, and the fact that we may obtain delay values from phase offset values via δ=φ/ω where ω is the radian frequency of the STFT bin in question, estimate the mixing parameters 17 for all sources by applying any variety of techniques known to those skilled in the art. The mixing parameters may also be specified by the user.
4. Based on the detected {circumflex over (Θ)} and φ for each spectrogram point and the mixing parameters, assign some fraction of the energy in that spectrogram point to each source i. The illustrations and terminology we provide use {circumflex over (Θ)} and φ, although in implementation it is equally valid to use {circumflex over (Θ)} and δ, with δ obtained using the relation above.
For each source, assign energy by multiplying the input magnitude STFT representations by a gain factor for each STFT time and frequency, thus creating two new STFT representations, i.e. one for each of the two stereo channels.
5. For each source estimate spectrogram, use either the original input phase, or a special phase function described below. Also, re-pan sources using their original panning data, or make both spectrogram magnitudes the same. Both steps are described below.
6. Now there are two output spectrograms for each source, for a total of 2N.
7. Invert the spectrograms 18 to obtain the final output of N time domain stereo source signal estimates.
Note that the fourth step is a key feature of the novel system, the step that substantially defines the output. It is also the step that has been implemented in very different ways in different systems, and we presently explore it in more depth.
We may use the term “spatial window” to describe the function in step four that assigns a time- and frequency-dependent gain factor. Because the spatial window assigns a fraction of the energy in a spectrogram point to a source based on the panning parameter estimate {circumflex over (Θ)} and phase estimate φ, we may think of it as multiplying the input spectrograms by a masking function which is a function of {circumflex over (Θ)} and φ. There are N sources, each with such a function, so we may notate the window for the ith source as ƒi({circumflex over (Θ)}, φ. Because this is a function of two variables, and there is one function for each source, we may view the spatial windows for a given system as a set of surfaces over two dimensions. The functions may also vary with frequency, thus creating additional sets of surfaces. In general, it is desirable for ƒi to include φ information because it has been shown that phase information may indicate which sources are sounding most loudly (see, for example, Aaron S. Master, Stereo Music Source Separation via Bayesian Modeling. Ph.D. Dissertation, Stanford University (2006) available from http://www-ccrma.stanford.edu/ ˜asmaster/, hereinafter “Master”).
A flowchart for a typical spatial windowing system is shown in
Such stereo spatially windowed output is not the only type of output that may be produced by spatial windowing systems. Other examples include:
It is also useful, for purposes of explaining the current system, to think of the input in terms of the following representation, where we use
We see then, that we represent each spectrogram sample in terms of its power, U, the detected panning parameter {circumflex over (Θ)}, the phase in the left channel ∠X1, and the phase offset between channels, φ. Given such a representation, spatial windowing may become more intuitive. The window may be seen as a simple scalar multiple applied to U, based on the values of φ and {circumflex over (Θ)}, with all other information in the input signal preserved. Such an interpretation is shown in
Source Isolation vs. Elimination
Before proceeding further, we note that thus far we have assumed that the goal of each spatial window ƒi in the demixing system is to isolate a source. In other contexts, the goal may be the opposite, i.e. to suppress a source. It is possible to make a trivial conversion from an isolation mask to an elimination mask, and vice versa, by taking
(elimination mask)=1−(isolation mask)
or, more formally,
ƒelimination(φ,{circumflex over (Θ)})=1−ƒisolation(φ,{circumflex over (Θ)})
after normalizing the elimination mask to make its maximum value unity. We observe this technique in, for example, Jean Laroche, Process for removing voice from stereo recordings (June 2002); and Carlos Avendano, Frequency domain source identification and manipulation in stereo mixes for enhancement, suppression, and re-panning applications, IEEE ASSP Workshop on the Applications of Signal Processing to Audio and Acoustics, pages 55-58, New Paltz, N.Y., USA (October 2003).
This approach may, however, lead to undesired results. This is because a source isolation system might err on the side of including too few data points to prevent crosstalk errors from other sources. A source elimination system, on the other hand, might err on the side of eliminating too many data points, to be sure that no part of the eliminated source is audible. A system that aims to separate all sources equally well does not have the luxury of erring on one side or the other.
One other option in converting source elimination masks to isolation masks is to add up all the elimination masks for all sources except the target source. Then, applying this sum mask would leave behind only the target source. We use a variation on this approach in addition to other approaches below.
We now describe the method for obtaining the time- and frequency-dependent gain factors used in the system, and for obtaining the output phase and panning values. We begin the discussion by describing how to choose gain factors to eliminate a source, and next describe the output phase and panning options. We then describe additional functions that produce other gain factors.
To establish the basis for the presently preferred embodiment, we assume that the sources are mixed using delay and scale parameters. This means that each source is scaled, i.e. made louder in one channel than the other, or the same in both channels, and delayed, i.e. sounds earlier in one channel than the other, or at the same time. Even if this assumption does not fully hold, as in the case of reverberation, the system still functions because the assumption approximately holds. Recalling the DFT pair δ(n−n0)exp(−jωn0), we may write such mixing as:
X1=cos(Θ1)S1+cos(Θ2)S2+ . . . +cos(ΘN)sN
X2=sin(Θ1)S1e−jωδ
where Θi is the panning parameter for source i, with full left being 0 and full right being π/2, and δi is the delay parameter for source i. If a source is not panned using delay information, then its corresponding δi is zero. Now, we may eliminate a source in DTFT space by a normalized weighted and delayed subtraction process. We use a system with output Yn:
ti Yn(ω,t)=sin(Θi)X1(ω,t)−cos(Θi)e+jωδ
It may be shown using trigonometry that this is
Yn(ω,t)=√{square root over (|X1|2+X2|2)}√{square root over (sin2(Θ+Θi)−0.5 sin(2Θ)sin(2Θi)(1+cos(φ−ωδi)).)} (7)
Recalling our conceptualization of spatial windowing in
ƒi({circumflex over (Θ)},φ)=√{square root over (sin2(Θ+Θi)−0.5 sin(2Θ)sin(2Θi(1+cos(φ−ωδi)).)} (8)
Now that we have this basic function for eliminating a source, we may apply it in a variety of ways. We discuss this below. We still use Yn to refer to normalized weighted subtraction.
Output Phase for Weighted Subtraction
We presently consider the phase of the two output channels. In other sound source separation systems, the output phase for each of the two channels is copied from the inputs. This is indeed an option. Another option is to choose the phase corresponding to the phase when we eliminate a particular source using a normalized weighted subtraction obtained in Yn. This may be desirable because it makes the corresponding source perceptually less noticeable in the output. The phase is expressed simply as:
∠out=∠(sin(Θi)X1(ω,t)−cos(Θi)e+jωδ
Imitating the ƒi plots above, we plot this as a function of Θ and φ in
We again note that the preceding mathematical setup and earlier conceptualization of spatial windowing in
Applying Phase, Panning, and ƒi Options Independently
We now see that we have three areas in which to choose options for the current system:
These may be used independently, as shown in
As suggested just above, we may also use various phase in the spectrogram before we invert it to obtain the time domain output.
The options include at least:
Finally, we may also use the original panning of the input sources by multiplying the U value by cos({circumflex over (Θ)}) in the left channel and sin({circumflex over (Θ)}) in the right channel. Or, we may simply use U·ƒi for both channels, effectively eliminating panning information.
If the objective in the system is source elimination without artifacts, we note that this can be done with the weighted subtraction algorithm. This can, in fact, be done by careful choice of options. To eliminate a source such as source 3, for example, we choose ƒ3, using the phase for the source 3 elimination case, and no panning information. This results in an output that is identical in both channels to just using weighted subtraction.
However, by using the original input phase and/or panning information, the stereo image is enhanced greatly. We also particularly suggest the option where phase is obtained from the source elimination case, but the original panning information is retained. This gives the perceptual impression of stereo, but with almost no artifacts from the eliminated source.
The free choice of options has not been available before. We include, in Table 1 below, a list of the options required by previous systems. We also note that some systems allow ƒfinal to vary versus the frequency ω. That is also the case here, as the ƒfinal functions may be different for each frequency bin.
1Eric Lindemann. Two microphone nonlinear frequency domain beam former for hearing aid noise reduction. In IEEE ASSP Workshop on the Applications of Signal Processing to Audio and Acoustics, pages 24-27, New Paltz, NY, USA, October 1995.
2Ozgur Yilmaz and Scott Rickard. Blind separation of speech mixtures via time-frequency masking. IEEE Transactions on Signal Processing, 52(7): 1830-1847, July 2004.
3Carlos Avendano. Frequency domain source identification and manipulation in stereo mixes for enhancement, suppression, and re-panning applications. In IEEE ASSP Workshop on the Applications of Signal Processing to Audio and Acoustics, pages 55-58, New Paltz, NY, USA, October 2003.
4Jean Laroche. Process for removing voice from stereo recordings, United States Patent 6405163, June 2002.
Training
Above, we described a system that uses functions ƒi to choose a gain factor for each input STFT point for each source. We now describe an embodiment in which we allow the system to obtain ƒi based on training data. A key aspect of this embodiment of the invention is that input data points that appear to be coming from the direction of one source are assigned to that source, with a lesser fraction of the energy assigned as the input data point's direction varies from that of the source. As will be discussed below, the decision about how much energy to allocate is informed by a separately conducted training process in which the system learns to make optimal decisions. As commented above, it is not true in 100% of cases that a lesser fraction of the energy assigned as the input data point's direction varies from that of the sources. This is an intuitive way to describe what generally happens as a result of the training. A general step-by-step approach is as follows.
1. Take a stereo audio signal as input, and load training data into memory.
2. Perform a spectrogram decomposition on each channel of the input, thus obtaining both the magnitude and phase for each point (frame t and frequency ω). Call the left and right channel spectrograms X1(ω, t) and X2(ω, t) respectively.
3. Estimate the panning parameter {circumflex over (Θ)}=arctan(|X2/X1|) at each spectrogram point and the phase offset between channels as
Using these data, estimate the mixing parameters for all sources using any variety of techniques known to those skilled in the art. The mixing parameters may also be specified by the user.
4. Based on the mixing parameters and on the detected {circumflex over (Θ)} and detected φ, the loudness of the input, and the frequency band in question, assign some fraction of the energy in each input spectrogram point to each source i. The loudness is defined as U=√{square root over (|X1|2+|X2|2)} and the frequency band is determined by which spectrogram bin is in question. We have found double-width Bark bands to be a good size for frequency bands, although other groupings such as octaves may also be used.
5. For each spectrogram, use either the original input phase, or a special phase function described above, obtained from taking a weighted subtraction of one input channel from the other. Also, re-pan sources using their original panning data, or make a both spectrogram magnitudes the same. Both of these steps were described above.
6. Now there are two output spectrograms for each source, for a total of 2N.
7. Invert the spectrograms to obtain the final output of N time domain stereo source signal estimates.
Allocation of Input Energy
The fourth step above is a key aspect of the novel system, the step that substantially defines the output. It is also the step that has been implemented in very different ways in different systems, and we presently explore it in more depth. Because the spatial window assigns a fraction of the energy in a spectrogram point to a source based on the panning parameter estimate {circumflex over (Θ)}, phase estimate φ, and loudness U, we may think of it as multiplying the input spectrograms by a masking function which is a function of {circumflex over (Θ)} and φ. Now, there are N sources, each with such a function, so we may notate the window for the ith source as ƒi({circumflex over (Θ)}, φ, U). The functions may also vary with frequency band F, so we may actually write ƒi(F, {circumflex over (Θ)}, φ, U). Some systems have excluded phase offset information. However, it is desirable for ƒi to include φinformation because it has been shown that phase information may indicate which sources are sounding most loudly (see, for example, Aaron S. Master. Stereo Music Source Separation via Bayesian Modeling. Ph.D. Dissertation Stanford University (2006) available from http://www-ccrma.stanford.edu/˜asmaster/). This system also pioneers the use of loudness information and frequency band information. These measures are useful because some sources are louder at various frequencies or are louder in general, and this leads to differences in detected loudness over various frequencies, or in general, when the sources are mixed. For example, the drums might be the loudest source in general, so ambiguous loud input should be assumed to be drums. At low frequencies, an electric bass might be louder than other instruments or voices, so loud data at low frequencies likely belongs to the electric bass. These differences can and should be exploited by a demixing system.
A flowchart for a typical demixing system is shown in
It is also useful, for purposes of explaining the current system, to think of the input in terms of the loudness U=√{square root over (|X1|2+|X2|2)} as mentioned above (see Equations (1)-(4) above).
We represent each spectrogram sample, then, in terms of its power, U, the detected panning parameter {circumflex over (Θ)}, the phase in the left channel ∠X1, and the phase offset between channels, φ. Given such a representation, we may see the ƒi as a simple scalar multiple applied to U, based on the values of φ, {circumflex over (Θ)}, and U, with all other information in the input signal preserved. Such an interpretation is shown in
Training Algorithm
We noted above that the system uses training data to inform its ƒi functions.
The training process operates as follows:
1. Begin with some training information about each source signal, which may include either similar time domain signals or frequency domain characteristics in terms of magnitude versus various frequency bands. It must also include the mixing parameters of the sources which, as mentioned above, can either be estimated using techniques known in the art or as specified by the user.
2. Convert non-spectrogram-domain training data to the spectrogram domain. To obtain spectrogram data from frequency band loudness information, copy all magnitudes of a frequency band to its corresponding bins and bring in random phase. To ensure that the data generalizes, add a sufficient number of randomized phase samples to either type of data. This may be done by copying the magnitude information and bringing in uniformly sampled phase information.
3. Do a mixing and detection procedure for every frequency band and every possible combination of sources. For example, if three sources are present, the combinations are source one only; source two only; source three only; sources one and two only; sources one and three only; sources two and three only; and sources one, two, and three.
(a) Mix the data in the spectrogram domain using the specified mixing parameters for each source present. There is likely no need to time-align sources, such as for sources playing together on the beat, because a quick check of some example training data showed that doing so had little effect.
(b) Estimate Θ, φ, and U for each training point as mentioned above. Also, record the relative strength of each source used in each of those training points.
(c) Set up a three-dimensional histogram which chops up each of the Θ, φ, and U spaces into bins. We found that 40, 13, and 12 bins were reasonable divisions of the respective parameters, though other values are possible. This leads to a histogram with a total of 40*13*12=6240 bins.
(d) Go through every one of the 6240 bins and, for each, find and record the number of training points that fall inside. These values are recorded in an array called “bighist.” Recalling that we also recorded the relative strength of each source for each training point, also record the median relative value of each source that falls inside. The median is a way of avoiding recording the distribution on all sources, which leads to an unmanageable data explosion, at least with current computation. A full distribution could also be recorded with very slow performance. Spot checking of data revealed that source data were generally concentrated in unimodal clusters well-represented by a median. If no training points fall inside, set the relative contribution of the sources there to zero. These value are recorded in an array called “sourcedata.”
4. We now have, for each point in the 3-D histogram, the popularity of each combination there, as well as the median source value of each source in the combination. We may now use this information either to estimate the “most likely” (ML) median source values for a given histogram bin, or the “expected median value” (EMV) of the sources for the bin. We describe both. For each histogram bin, do the following:
We include an example of “sourcedata” in
When new input is given to the system, the system can use the training data as follows:
1. Perform a spectrogram decomposition of the input.
2. For each point in the spectrogram:
(a) Estimate the Θ, φ, and U triplet;
(b) For each such triplet, find its corresponding histogram bin; and
(c) Recalling that each histogram bin has an associated ML or MEV set of median source estimates, multiply the detected U by the desired estimates' corresponding ƒi. There are as many estimates as sources.
3. We now have a spectrogram for each source. Re-apply panning information if desired, use the original input's phase or a special phase function resulting from a subtracting a weighted version of X1 from a weighted version of X2, and invert the spectrograms to obtain time-domain signals.
Although the invention is described herein with reference to the preferred embodiment, one skilled in the art will readily appreciate that other applications may be substituted for those set forth herein without departing from the spirit and scope of the present invention. For example, any standard (known) audio filter may be used before or after the herein disclosed separation system. Audio filters may be used in conjunction with the invention herein, for example, to make some frequency ranges louder (emphasis) or quieter (de-emphasis).
While the invention is described herein in connection with voice and music, it will be appreciated by those skilled in the art that the invention may be used in any application involving an audio signal controlling more than one source of sound. For example:
Accordingly, the invention should only be limited by the Claims included below.
This application claims priority to U.S. provisional patent application Ser. Nos. 60/722,542, filed Sep. 30, 2005 and 60/738,366 filed Nov. 18, 2005, each of which is incorporated herein in its entirety by this reference thereto.
Number | Date | Country | |
---|---|---|---|
60722542 | Sep 2005 | US | |
60738366 | Nov 2005 | US |