The invention is in the field of the processes and systems of removal of a specific acoustical contribution from the signal of an acoustical signal mixture.
A movie soundtrack or a series soundtrack can contain a music track mixed with, the actors voices or dubbed speech and other audio effects. However, movie or series studios may have obtained the music distribution rights only for a given territory, a given medium (DVD, Blu-Ray, VOD) or for a given duration. It is thus impossible to distribute the audiovisual content including a soundtrack that includes music for which the studio or other distributor of audiovisual content does not have rights to within a territory, beyond a previously expired duration, or for a particular medium, unless high fares are paid to the owners of the music rights.
Thus, there is a need for a process enabling the extraction of a specific acoustical component, such as a musical component, from the acoustical signal mixture, such as the original soundtrack, in order to keep only a residual contribution, such as the voice of the actors and/or the sound effects and other acoustical components for which the distributor of the audiovisual content has the rights to.
Such a process will afford the possibility of reworking the residual contribution to, for example, incorporate other music.
In order to perform such an extraction, one approach consists of considering as known the musical recording corresponding to the contribution to be removed from the mixture. More specifically, we consider a reference acoustical signal that corresponds to a specific recording of the music contribution in the mixture.
Thus, the document Goto, US Pat. Pub. No. 20070021959 (hereinafter “Goto”) discloses a process of music removal capable of subtracting from the acoustical signal mixture, the reference signal, through application of transformations, to obtain a residual signal corresponding to the residual contribution in the initial mixture.
To take into account the differences in volume, temporal position, equalization, etc. between the reference signal and the musical contribution in the mixture, Goto discloses the possibility of correcting the reference signal automatically before subtracting it from the mixture. Goto proposes to perform the correction in a manual way, with the help of a graphical user interface. While the residual acoustical component is not satisfactory, the operator performs an iteration consisting of correcting the reference signal and then subtracting it from the mixture. Given the large number of parameters on which it is possible to modify the reference signal, this known process is not efficient.
The publication by Jaureguiberry et al. “Adaptation of a source-specific dictionaries in Non-Negative Matrix Factorization for source separation”, Int. Conf. on Acoustics, Speech and Signal Processing 2011, discloses a process of acoustical contribution removal, where the modeling of the contribution to remove involves the learning of time-independent spectral shapes (or power spectral densities) on a reference signal, and an adaptation of these spectral shapes with a vector of frequential factors to model the discrepancies between the reference source and the contribution. Results of this method are not satisfactory because of the loss of the temporal structure of the reference acoustical component, and also because the adaptation may not compensate for the differences in the recordings of the reference and of the contribution, that may have very different characteristics (e.g. not the same sound sources, not the same acoustical conditions, not the same note played, etc.).
The present invention aims to address these issues by proposing an improved extraction process, taking into account, in an automatic manner, the differences between the reference acoustical component and the specific acoustical component to be extracted from the acoustical mixture that constitutes different recordings of a known collection of acoustical waves.
According to one embodiment of the invention, a computer readable medium containing executable instructions is described for extracting a reference representation from a mixture representation that comprises the reference representation and a residual representation wherein the reference representation, the mixture representation, and the residual representation are representations of collections of acoustical waves stored on computer readable media, the process comprising a executable instructions for correcting a short-time power spectral density of a time-frequency version of the reference representation, wherein the short-time power spectral density is a function of time and frequency, stored on a computer readable medium, computed by taking the power spectrogram of the reference representation to obtain a corrected short-time power spectral density of the reference representation, executable instructions for estimating a short-time power spectral density of a time-frequency version of the residual representation, which is a function of time and frequency stored on a computer readable medium, from the time-frequency version of the mixture representation and the corrected short-time power spectral density of the reference representation, executable instructions for filtering the time-frequency version of the mixture representation, from the estimated short-time power spectral density of the residual representation and the corrected short-time power spectral density of the reference representation, and executable instructions for storing the residual representation on a computer readable medium.
According to another embodiment of the invention, a system is described for extracting a reference representation from a mixture representation that comprises the reference representation and a residual representation wherein the reference representation, the mixture representation, and the residual representation are representations of collections of acoustical waves stored on computer readable media, the system comprising a processor configured to perform a correction of the short-time power spectral density of the time-frequency version of the reference representation, an estimation of the short-time power spectral density of the residual representation, and a filtering that is designed to obtain, from the time-frequency version of the reference representation, from the estimated short-time power spectral density of the time-frequency version of the residual representation, and from the corrected short-time power spectral density of the time-frequency version of the reference representation, the time-frequency version of the residual representation, and a memory configured to store the reference representation, the mixture representation, the residual representation, the time-frequency version of the reference representation, the time-frequency version of the mixture representation, the time-frequency version of the residual representation, the short-time power spectral density of the time-frequency version of the reference representation, the short-time power spectral density of residual representation, the estimated short-time power spectral density of the time-frequency version of the residual representation, and the corrected short-time power spectral density of the time-frequency version of the reference representation.
The invention will be better understood with the help of the following description, given only as an example and that refers to the enclosed drawings on which:
Turning now to the figures, wherein like reference numerals refer to like elements, an exemplary environment in which the present invention may be implemented is shown in
The system bus 23 couples various system components, including the system memory 22, to the CPU 21. The system bus 23 may be of any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. The system bus 23 connects to the hard disk drive 27, magnetic disk drive 28, and optical disk drive 30 via a hard disk drive interface 32, a magnetic disk drive interface 33, and an optical disk drive interface 34, respectively. The drives and their associated computer-readable media provide nonvolatile storage of computer readable instructions, data structures, programs, and other data for the computer 20. While the exemplary environment described herein contains a hard disk 60, a removable magnetic disk 29, and a removable optical disk 31, the present invention may be practiced in alternative environments which include one or more other varieties of computer readable media. That is, it will be appreciated by those of ordinary skill in the art that other types of computer readable media capable of storing data that in a manner such that it is accessible by a computer may also be used in the exemplary operating environment.
A user may enter commands and information into the computer 20 through input devices such as a keyboard 40, which is ordinarily connected to the computer 20 via a keyboard controller 62, and a pointing device, such as a mouse 42. The present invention may also be practiced in alternative environments which include a variety of other input devices not shown in
The computer 20 may output various signals through a variety of different components. For example, in
The computer 20 may operate in a networked environment by utilizing connections to one or more devices within a network 63, including another computer, a server, a network PC, a peer device or other network node. These devices typically include many or all of the components found in the exemplary computer 20. In
Those of ordinary skill in the art will understand that the meaning of the term “computer” as used in the exemplary environment in which the present invention may be implemented is not limited to a personal computer but may also include other microprocessor or microcontroller-based systems. For example, the present invention may be implemented in an environment comprising hand-held devices, smart phones, tablets, multi-processor systems, microprocessor based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, Internet appliances, and the like. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, parts of a program may be located in both local and remote memory storage devices.
In the description that follows, the invention will be described with reference to acts and symbolic representations of operations that are performed by one or more logic elements. As such, it will be understood that such acts and operations may include the execution of microcoded instructions as well as the use of sequential logic circuits to transform data or to maintain it at locations in the memory system of the computer or in the memory systems of a distributed computing environment. Reference will also be made to one or more programs executing on a computer system or being executed by parts of a CPU. A “program” is any instruction or set of instructions that can execute on a computer, including a process, procedure, function, executable code, dynamic-linked library (DLL), applet, native instruction, engine, thread, or the like. A program may also include a commercial software application or product, which may itself include several programs. However, while the invention is being described in the context of software, it is not meant to be limiting. Those of skill in the art will appreciate that various acts and operations described hereinafter may also be implemented in hardware.
The invention is generally directed to a system and method for processing a mixture of coherent information and extracting a particular component from the mixture. According to one embodiment of the invention, a representation of a collection of acoustical waves stored on a computer readable medium and a second representation of a second collection of acoustical waves stored on a computer readable medium are provided as inputs into a system. In said embodiment, the system comprises a processor, configured to extract, from the representation of the first collection of acoustical waves, the representation of a second collection of acoustical waves to yield a representation of a third collection of acoustical waves. The system may include various components, e.g. the CPU 21, described in the exemplary environment in which the invention may be practiced as illustrated in
Referring to
In the implementations herein described in detail, the representations of collections of waves are obtained from monophonic recordings. Alternatively, they may be obtained from stereophonic recordings. More generally, they may be obtained from multichannel recordings. One of skill in the art knows how to adapt the process detailed below to deal with representations of collections of waves obtained from monophonic, stereophonic or multichannel recordings.
The mixture representation comprises a representation of a first component and a representation of a second component, each component itself being a collection of waves. The first component is musical and corresponds to known music. The second component is residual and corresponds to voices, to sound effects, or to other acoustics. Thus the mixture representation comprises a musical representation, i.e. the representation of the musical component, and a residual representation, i.e. a representation of the residual component.
The reference representation corresponds to the known music. The verb “to correspond” indicates that the reference representation and the musical representation are obtained from two different treatments of recordings of the same musical performance. Each treatment can leave a recording unchanged (identity function), modify the signal power (or volume) of a recording, or modify the level of frequency equalization of a recording. Each treatment can be analogic (acoustic propagation, analogic electronic processing) or digital (digital electronic processing, software processing), or a combination thereof.
Thus, in the first implementation of the invention, a power difference between the musical representation and the reference representation is taken into account at each sampling time of a time-frequency version of the musical representation. A time-frequency version of any acoustical representation stored on a computer readable medium may be obtained by performing a transformation on the acoustical representation. Any resultant time-frequency version of the representation may then also be stored on a computer readable medium.
The system 210 comprises a processor, such as CPU 21 in
The first transformation engine 212 computes a first transformation, from the mixture representation, the time-frequency version of the mixture representation X(τ,f), which may then be stored on computer readable media, e.g. as program data 38 in
The second transformation engine 214 computes a second transformation, from the reference representation, the time-frequency version of the reference representation S(τ,f), which may then be stored on computer readable media, e.g. as program data 38 in
The processor of system 210 is further configured to perform an estimation function at an estimation engine 216 of the short-time power spectral density of the time-frequency version of the mixture representation to estimate the power spectrogram of the time-frequency version of the residual representation PY(τ,f), which may then be stored on computer readable media, e.g. as program data 38 in
The processor of system 210 is further configured to perform a correction function at correction engine 218 of the short-time power spectral density to determine a corrected short-time power spectral density of the time-frequency version of the reference representation PS(τ,f), which may then be stored on computer readable media, e.g. as program data 38 in
According to the invention, the estimation function performed by estimation engine 216 and the correction function performed by correction engine 218 are coupled together through an iteration loop, i.e. an estimation-correction loop, indexed by an integer i.
At each iteration, the estimation function performed by estimation engine 216 produces an approximation of the short-time power spectral density of the time-frequency version of the residual representation PY, which may be stored on a computer readable medium. In the envisaged implementations this approximation takes the following shape:
PYi=WiHi (1)
Where Wi is a matrix (wij,k) of J lines per K columns and Hi a matrix (hik,l) of K lines and L columns, where J is the number of frequency frames and L the number of temporal frames. Both matrices may be stored on a computer readable medium, e.g. in system memory 22 as program data 38 in
Equation (1) models the short-time power spectral density of the residual representation in a first matrix Wi corresponding to elementary spectral shapes (chords, phonemes, etc.) and a second matrix Hi corresponding to the activation in time of these elementary spectral shapes.
The estimation engine 216 is configured to consecutively execute first and second instructions, which may be stored, e.g., as part of a program 37 in computer readable media such as system memory 22, in
The first instruction, which updates Wi, takes the time-frequency version of the mixture representation X(τ,f), and the matrix Hi, the matrix Wi and the corrected short-time power spectral density of the time-frequency version of the reference representation PSi(τ,f) given by the correction function performed by correction engine 218, computed at the previous iteration.
Preferably, this first instruction uses the following formula:
where, generally speaking, MT is the matrix transpose operation of matrix M and M̂(.--1) is the matrix inversion operation of matrix M in the sense of the Hadamard product (element by element inversion, not the inverse of the classical matrix product), and where |X|2 is the square of the modulus of the complex amplitude of the time-frequency version of the mixture representation X(τ,f). The various matrices and products may be stored on computer readable media, e.g. as program data 38 in
The second instruction for updating matrix Hi takes as input the time-frequency version of the mixture representation X(τ,f), and the matrix Hi, the matrix Wi and the corrected short-time power spectral density of the time-frequency version of the reference representation PSi(τ,f) given by the correction function performed by the correction engine 218, computed at the previous iteration. Preferably, this second instruction uses the following formula:
The correction engine 218 is configured to, at each iteration, perform a correction of the short-time power spectral density of the time-frequency version of the reference representation S(τ,f) to produce a corrected reference short-time power spectral density of the time-frequency version of the reference representation PSi. This last variable depends on the complex amplitude of the time-frequency version of the reference representation through a correction function:
PS
iℑi(|S|2) (4)
In an implementation, the correction function has the shape:
ℑi(|S|2)=αi·|S|2 (4.1)
Where αi is a gain whose value is updated at each iteration of the loop by executing a gain correction instruction at the correction function performed by correction engine 218. The correction function performed by correction engine 218 involves using the time-frequency version of the mixture representation X(τ,f), the time-frequency version of the reference representation S(τ,f), the matrix Hi, the matrix Wi, and the gain αi computed at the previous iteration in conjunction with the following formula:
Where |S|2 is the squared modulus of the time-frequency version of the reference representation S(τ,f).
After a hundred iterations of the loop, the estimated short-time power spectral density of the time-frequency version of the residual representation PY(τ,f) is obtained by means of Equation (1) with the then current values of matrices Hi et Wi.
The processor of system 210 is further configured by executable code to perform a filtering function at a filter 220 that implements a Wiener filtering algorithm to estimate the time-frequency version of the residual representation Y(τ,f), from the estimated short-time power spectral density of the time-frequency version of the residual representation PY(τ,f), the corrected short-time power spectral density of the time-frequency version of the reference representation PS(τ,f) and the time-frequency version of the mixture representation X(τ,f).
For example, the Wiener filtering implemented by filter 220 follows the equation:
One of ordinary skill in the art will eventually modify the Wiener filtering to influence the quality of the rendering. For example, the short-time power spectral densities coefficients PY(τ,f) and PS(τ,f) may be raised to a given real power in order to improve the rendering quality.
The processor of system 210 is further configured to perform a third transformation at transformation engine 222 designed to transform a time-frequency version of a representation of a collection of waves stored on a computer readable medium, taken as input, into a temporal representation, i.e. a function of time, of a collection of waves stored on a computer readable medium. The transformation performed by transformation engine 222 involves implementing the transform function that is the inverse of the one implemented in the transformations performed by transformation engines 212 and 214. Preferably, a Fourier inverse transform is performed on each of the temporal frames of the time-frequency versions of the representations, and then an overlap-and-add operation is performed on the resulting temporal versions of each frame. When it is applied on the time-frequency version of the residual representation Y(τ,f), the transformation performed by transformation engine 222 provides the residual representation, which may be stored on a computer readable medium, y(t).
Finally, the extraction system comprises an interface 230, preferably graphical, allowing the operator to enter the values of the parameters such as the number of iterations of the estimation-correction loop, the initial value of a gain, and various other parameters which may be obvious for those of skill in the art to provide user control over. For example and preferably, the gains α0, β0 and γ0 may be initialized with a unit value.
The interface 230 also enables selection of a method from among a set of methods for setting values of said parameters. Such methods are particularly applicable to the initialization of the matrices W0 and H0 which may be stored on a computer readable medium. For example, the choice of a stochastic method can trigger the execution of a modulus of matrix initialization W0 and H0 designed to set, in a stochastic way, a value between 0 and 1 to each of the elements of one or the other matrices. Other methods can be envisaged by one of skill in the art.
At step 310, the reference representation is transformed into the time-frequency version of the reference representation by performing a transformation such as that performed by transformation engine 214 of
At step 320, an initialization of several parameters, e.g. integer i, number of spectral shapes K, gains, number of iterations in the estimation correction loop, etc. and an initialization of matrices W0 and H0 occurs. At step 330, the method comprises initializing the estimation correction loop 330, indexed by the integer i.
At each iteration, the method comprises performing an estimation function (140) consisting of updating the matrix Wi and subsequently the matrix Hi, and further comprises a correction function 350 that updates the value of the gain parameter αi. The estimation function 340 and correction function 350 are identical to the estimation function and correction function performed by the estimation engine 216 and correction engine 218 of
After around 100 iterations of the estimation correction loop 330, the short-time power spectral density of the time-frequency version of the residual representation is determined according to equation (1) with the last values of matrices Wi then Hi, and the corrected short-time power spectral density of the time-frequency version of the reference representation is determined according to equation (4.1) with the last value of gain αi.
At step 360, a filtering function, such as that performed by filter 220 in
Finally, at step 370 a transformation function, such as performed by the transformation engine 222 in
In a second implementation of the extraction method, which is identical to the first implementation described above except that in this second implementation, the correction function is a function that modifies a vector of gain factors and a vector of frequency factors, that can be written as follows:
ℑi(|S|2)=diag(βi)·|S|2·diag(γi) (4.2)
Therein, βi is a vector of factors of frequency adaptation, and γi is a vector of factor of gain specific to a time frame, and the function diag(vi) enables construction of a matrix from a vector νi by distributing the coordinates of the vector on the matrix diagonal.
The correction function in this alternative embodiment comprises first updating the vector of gain factors using the time-frequency version of the mixture representation X(τ,f), the time-frequency version of the reference representation S(τ,f), the matrix Hi, the matrix Wi, and the values of vectors γi and βi at the previous iteration according to the following relationship:
The correction function subsequently comprises updating the frequency adaptation factors using the time-frequency version of the mixture representation X(τ,f), the time-frequency version of the reference representation S(τ,f), the matrix Hi, the matrix Wi, and the values of vectors γi and βi at the previous iteration according to the following relationship:
After a hundred iterations of the loop 430, the value of the short-time power spectral density of the time-frequency version of the residual representation is computed according to equation (1) with the then current values of matrices Wi and Hi, while the short-time power spectral density of the corrected time-frequency version of the reference representation is computed according to equation (4.2) with the then current values of vectors γi and βi.
The general principle implemented in the estimation-correction loop involved in the invention consists of minimizing a divergence between, on the one hand, the short-time power spectral density and, on the other hand, the sum of the short-time power spectral density of the corrected time-frequency version of the reference representation and of the short-time power spectral density of the time-frequency version of the residual representation. Preferably, this divergence is the known ITAKURA-SAITO divergence. See Fevotte C., Berlin N., Durrieu J.-L., Nonnegative matrix factorization with the Itakura-Saito divergence with application to music analysis, Neural Computation, March 2009, Vol 21, number 3, pp 793-830. This divergence enables quantifying a perceptual difference between two acoustical spectra. In particular, this distance is not sensitive to scale differences between compared spectra. The ITAKURA-SAITO divergences between two points having a scale difference with two others are identical
The problem of minimizing the aforementioned divergence stated in the previous paragraph requires a minimization algorithm to solve it. The minimization methods described in this invention comes from a derivation operation of this divergence with respect to the variables that are, in the first implementation, the matrices W, H and the gain αi and, in the second implementation, the matrices W and H, the gain vector γi and the frequency adaptation vector βi. The discretization of this derivation operation yields the aforementioned update equations (a multiplicative update gradient algorithm, which is known by those of skill in the art).
While the present implementation illustrates the particular case of extracting the representation of a musical component from a representation of a collection of acoustical waves stored on a computer readable medium that includes a representation of the musical component and a representation of a residual component, the process of the invention is fit to be used for the extraction, from the representation of any collection of acoustical waves stored on a computer readable medium, of any representation of a specific acoustical component for which a reference representation is available. The specific acoustical component can be music, an audio effect, a voice, etc.
While the exemplary embodiments disclosed herein pertain to the extraction of components from representations of acoustical waves, one of ordinary skill in the art will appreciate that the methods and systems described in the present application are not limited to acoustical waves. The methods and systems described in the present application are also applicable to the extraction of components from representations of other types of waves. For example, representations of other types of waves stored on computer readable media may be modified according to the systems and methods of the present invention.
All references, including publications, patent applications, and patents, cited herein are hereby incorporated by reference to the same extent as if each reference were individually and specifically indicated to be incorporated by reference and were set forth in its entirety herein.
The use of the terms “a” and “an” and “the” and “at least one” and similar referents in the context of describing the invention (especially in the context of the following claims) are to be construed to cover both the singular and the plural, unless otherwise indicated herein or clearly contradicted by context. The use of the term “at least one” followed by a list of one or more items (for example, “at least one of A and B”) is to be construed to mean one item selected from the listed items (A or B) or any combination of two or more of the listed items (A and B), unless otherwise indicated herein or clearly contradicted by context. The terms “comprising,” “having,” “including,” and “containing” are to be construed as open-ended terms (i.e., meaning “including, but not limited to,”) unless otherwise noted. Recitation of ranges of values herein are merely intended to serve as a shorthand method of referring individually to each separate value falling within the range, unless otherwise indicated herein, and each separate value is incorporated into the specification as if it were individually recited herein. All methods described herein can be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by context. The use of any and all examples, or exemplary language (e.g., “such as”) provided herein, is intended merely to better illuminate the invention and does not pose a limitation on the scope of the invention unless otherwise claimed. No language in the specification should be construed as indicating any non-claimed element as essential to the practice of the invention.
Preferred embodiments of this invention are described herein, including the best mode known to the inventors for carrying out the invention. Variations of those preferred embodiments may become apparent to those of ordinary skill in the art upon reading the foregoing description. The inventors expect skilled artisans to employ such variations as appropriate, and the inventors intend for the invention to be practiced otherwise than as specifically described herein. Accordingly, this invention includes all modifications and equivalents of the subject matter recited in the claims appended hereto as permitted by applicable law. Moreover, any combination of the above-described elements in ail possible variations thereof is encompassed by the invention unless otherwise indicated herein or otherwise clearly contradicted by context.
Number | Date | Country | Kind |
---|---|---|---|
1158831 | Sep 2011 | FR | national |