WO2021009319A1 - Procédé de séparation d'un signal acoustique de mélange en une pluralité de m contributions sonores; produit programme d'ordinateur et support lisible d'informations associés - Google Patents

Procédé de séparation d'un signal acoustique de mélange en une pluralité de m contributions sonores; produit programme d'ordinateur et support lisible d'informations associés Download PDF

Info

Publication number
WO2021009319A1
WO2021009319A1 PCT/EP2020/070219 EP2020070219W WO2021009319A1 WO 2021009319 A1 WO2021009319 A1 WO 2021009319A1 EP 2020070219 W EP2020070219 W EP 2020070219W WO 2021009319 A1 WO2021009319 A1 WO 2021009319A1
Authority
WO
WIPO (PCT)
Prior art keywords
encoder
gradient
decoder
parameters
spectrogram
Prior art date
Application number
PCT/EP2020/070219
Other languages
English (en)
Inventor
Clément DOIRE
Olumide OKUBADEJO
Original Assignee
Audionamix Sa
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Audionamix Sa filed Critical Audionamix Sa
Publication of WO2021009319A1 publication Critical patent/WO2021009319A1/fr

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0272Voice signal separating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0008Associated control or indicating means
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • G10H1/361Recording/reproducing of accompaniment for use with an external source, e.g. karaoke systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/031Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
    • G10H2210/056Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for extraction or identification of individual instrumental parts, e.g. melody, chords, bass; Identification or separation of instrumental parts by their characteristic voices or timbres
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/311Neural networks for electrophonic musical instruments or musical processing, e.g. for musical recognition or control, automatic composition or improvisation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/18Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being spectral information of each sub-band

Definitions

  • the present invention relates to a method of separating different contributions in a mixing sound signal.
  • a song's soundtrack results from the superposition of several sound contributions produced by so many sources.
  • a vocal contribution the lyrics sung by one or more singers
  • a percussive contribution the drums and other sound elements of percussion type
  • a contribution bass musical instruments whose spectral characteristics correspond to a bass voice
  • a remaining contribution all of the other sources of the mixture.
  • Other decompositions are of course possible depending on the needs of the envisaged application, but the preceding decomposition is standard in the present technical field, in particular to allow a comparison of the separation processes between them. This decomposition will be used more particularly in the remainder of this document to present the invention.
  • RNAs structured according to a convolutional architecture are thus known.
  • MMDenseNet Multi-scale multi-band densenets for audio source separation ”, in IEEE Workshop on Applications of Signal Processing to Audio and Acoustics (WASPAA), 2017.
  • RNA used in the analysis of a mixing signal is an appropriately parameterized RNA. It results from a so-called supervised learning phase, during which the optimal values of the parameters of this RNA are determined. These optimal values are determined by constraining the RNA, at the input, with reference mixing signals and, at the output, for each reference mixing signal, with the expected contributions, called the reference contributions. For training, it is therefore necessary to have a training database storing batches, a batch associating with a reference signal one or more target reference contributions. The more extensive the learning database, the better the suitably configured RNA obtained at the end of the learning phase.
  • This approach is advantageous in that it is not necessary to have all the reference contributions for each reference mixing signal used in the training phase, but only at least one reference contribution, making it possible to determine the parameters. optimal values of the corresponding RNA. This makes it easier to create the learning database.
  • the learning phase requires having all the reference contributions for each reference mixing signal used to set up the network. Due to the difficulty of having all the Reference contributions for each reference mix signal, the training database is small in size, which greatly limits the performance of the parameterized RNA used for the analysis.
  • the aim of the present invention is to overcome the aforementioned problems, in particular by proposing an alternative method of separation based on the use of an artificial neural network.
  • the subject of the invention is a method of separating an acoustic mixing signal into a plurality of sound contributions, the plurality of sound contributions comprising M sound contributions respectively indexed by an integer i, between 1 and M, characterized in that that said method, which is implemented by computer, comprises a learning phase, consisting in determining optimal values for parameters of an algorithm structured according to an artificial neural network, and a processing phase, consisting in: transforming , in the frequency domain, the acoustic mixing signal to obtain a mixing spectrogram, which is characterized by a magnitude and a phase; execute the algorithm structured according to an artificial neural network parameterized with the optimal values determined at the end of the learning phase, on the magnitude of the mixing spectrogram, so as to obtain a plurality of M estimates, the ith estimate being an estimate of a magnitude of a spectrogram of the ith sound contribution; transforming, in the time domain, a combination of the ith estimate with the phase, to obtain a pure acoustic signal of the it
  • the method comprises one or more of the following characteristics, taken in isolation or according to all the technically possible combinations:
  • the learning phase comprises a plurality of successive epochs, each epoch consisting in: creating a plurality of M databases from a set of training batches, a batch stored in the nth database being a lot which associates an amplitude of a spectrogram of a reference mixing acoustic signal and an amplitude of a spectrogram of a reference sound contribution, said reference sound contribution being the nth sound contribution of said reference mixture acoustic signal; then, in cyclically going through each of the databases, by performing, for the current value of the index i of the database considered, the steps consisting in: reading the current values of the parameters of the encoder and of the ith decoder; draw a batch randomly from the database considered; calculating the outputs of the encoder from the amplitude of the spectrogram of the reference mixture signal of the drawn batch, with the current values of the parameters of the encoder; calculating the output of the ith decoder from the outputs of the encoder, with the current values of
  • the learning phase comprises a plurality of successive epochs, each epoch consisting in: creating a plurality of M databases from a set of training batches, a batch stored in the nth database being a batch which associates an amplitude of a spectrogram of a reference mixture acoustic signal and an amplitude of a spectrogram of a reference sound contribution, said reference sound contribution being the nth sound contribution of said reference mixture acoustic signal ; then, in cyclically browsing the databases, by carrying out, for the current value of the index i of the database considered, the steps consisting in: reading the current values of the parameters of the encoder and of the ith decoders; draw a batch randomly from a considered database; calculating the outputs of the encoder from the amplitude of the spectrogram of the reference mixture signal of the drawn batch, with the current values of the parameters of the encoder; calculating the output of the ith decoder from the outputs of the encoder, with the current values
  • the databases of the plurality of M databases are independent and asynchronous, that is to say that a reference mixing acoustic signal from a batch contained in a database is not necessarily found in a batch from another database and the number of batches from one database may not be equal to the number of batches from another database.
  • the step consisting of an error between the output of the i th decoder, denoted D i (e (Y ref )), and the amplitude of the spectrogram of the reference sound contribution, denoted consists in calculating a quantity, noted L i according to the relation: where dist is a distance, for example an average of the absolute value of the difference between two matrices or an average of the square of the difference between two matrices.
  • the step consisting in updating the current value of a parameter q Di of the i th decoder by means of a gradient descent procedure is carried out according to the equation: where the gradient is calculated by an algorithm of
  • l is a coefficient depending on a predefined optimization rule.
  • the step consisting in updating the current value of a parameter q e of the encoder is carried out according to the equation: where the gradient is calculated by a gradient backpropagation algorithm; and l is a coefficient depending on a predefined optimization rule.
  • the step consisting in updating the current value of the parameter q e of the encoder is done according to the equation:, where l is a coefficient depending on a
  • each decoder is symmetrical to the encoder with respect to each of the outputs of said encoder.
  • the step consisting in transforming in the time domain implements an inverse transformation of a time-frequency transformation implemented in the step consisting in transforming, in the frequency domain, the acoustic mixing signal.
  • the subject of the invention is also a computer program product and a readable information medium associated with the above method.
  • Figure 1 is a representation in block form of the treatment phase of the separation process according to the invention.
  • Figure 2 is a block representation of an encoder and one of the decoders of the artificial neural network which, once properly configured, is implemented in the processing phase of Figure 1;
  • FIG. 3 is a first embodiment of an epoch of the learning phase of the method according to the invention, making it possible to suitably configure the artificial neural network of FIG. 2;
  • FIG. 4 is a second embodiment of an epoch of the learning phase of the method according to the invention, making it possible to suitably configure the artificial neural network of FIG. 2;
  • FIG. 5 shows a schematic view of the use of databases during the learning phase according to the invention.
  • the method of separating a mixing acoustic signal into a plurality of sound contributions according to the invention is implemented by a computer.
  • This comprises a calculation means, such as a processor, and a storage means, such as a random access memory and / or a read only memory.
  • the storage means stores computer program instructions suitable for execution by the computing means.
  • the computer memory means stores a computer program, the execution of which leads to the implementation of the method according to the invention.
  • This computer program is for example written on a readable information medium, such as a CD-ROM, and transferred to the storage means to be stored there for the purpose of its execution.
  • the method of separating a mixing acoustic signal into a plurality of sound contributions comprises a learning phase and a processing phase.
  • Treatment phase 100 aims to analyze an acoustic mixing signal, y (t), to extract therefrom a plurality of sound contributions, S i (t), respectively indexed by the integer /, between 1 where M is the total number of sound contributions that we are trying to separate. Since a contribution is associated with a source, we will speak equally of the i th contribution or the contribution of the i th source.
  • the processing phase 100 comprises the following steps.
  • Step 12 is a step of acquiring the acoustic mixing signal, y (t).
  • the signal y (t) is a discretized temporal signal. It is preferably all or part of a soundtrack, stored in the storage means of the computer. Alternatively, it can be all or part of a live recording, song, or the like, using a microphone connected to the computer.
  • the signal y (t) can be a mono or stereo signal.
  • step 14 the acoustic mixing signal, y (t), is transformed into the frequency domain, in order to obtain a time-frequency representation of the acoustic mixing signal, also called a mixing spectrogram.
  • the time-frequency transform used is a sliding window Fourier transform (STFT).
  • STFT sliding window Fourier transform
  • other transformations towards the frequency domain can be used, such as the transform at constant Q, or the Fourier transform with sliding window followed by frequency filtering (using a bank of filters in "Mel "Or” Bark “for example).
  • the mixing spectrogram is characterized by a magnitude Y, and a phase f. While a magnitude is generally noted 1. 1, for the sake of clarity and without loss of generality, in what follows the notation 1. 1 is omitted and the magnitudes are denoted by their capital letter alone.
  • Step 15 then consists in executing an algorithm having the structure of a single suitably parameterized artificial neural network or appropriately parameterized RNA.
  • the properly configured RNA is obtained at the outcome of the learning phase of the method according to the invention, a learning phase which will be described below with reference to Figures 3 and 4.
  • the i th estimate is an estimate of the magnitude of the spectrogram of the contribution of the i th sound source.
  • M is four, four estimates of magnitude are obtained, respectively
  • Each signal s i (t) is a discretized temporal signal.
  • the frequency-time transformation used in step 20 is the reverse operation of the time-frequency transformation used in step 14.
  • the artificial neural network - RNA which is used in step 15 after having been suitably configured, comprises a common encoder, denoted £, followed by a plurality of M decoders, denoted A-
  • step 15 of executing the algorithm structured according to this RNA comprises an encoding sub-step 16 followed by a plurality of M decoding steps 18 ,.
  • the RNA thus comprises an encoder £ common to the plurality of decoders A-
  • the encoder £ takes as input the magnitude Y of the mixing spectrogram.
  • the decoders A are independent of each other and arranged in parallel with each other at the output of encoder e.
  • Each decoder A is associated with a single contribution to be separated, that of the i th source.
  • the i th decoder outputs the estimate of the magnitude of the spectrogram of the contribution of the i th source.
  • the different A decoders preferably have an identical architecture. While the architecture of a decoder can be independent of that of the encoder, the decoders A advantageously adopt an architecture correlated with that of the encoder £. This makes it possible in particular to facilitate the convergence of the values of the parameters of the various modules that constitute the encoder and the decoders during the learning phase.
  • each module, encoder or decoder adopts a U-Net convolutional architecture, as for example described in the article by Andréas Jansson et al. “Singing Voice Separation with Deep U-Net Convolutional Networks”, in Proc. International Society for Music Information Retrieval Conference (ISMIR), 2017.
  • ISMIR International Society for Music Information Retrieval Conference
  • the encoder consists of a plurality of successive convolutional layers, each layer corresponding to a particular resolution and making it possible to extract a pattern activation map (or "feature map” in English) from the pattern activation map output from the previous encoder layer.
  • the A decoders all have the same architecture.
  • the i th decoder consists of a plurality of successive convolutional layers, each layer corresponding to a particular resolution and making it possible to extract a pattern activation map from the activation map at the output of the previous layer of the decoder and from the activation card at the output of the encoder layer of the same resolution.
  • each decoder is symmetrical to the encoder with respect to each of the outputs of the encoder.
  • the encoder £ thus successively comprises an input layer 161 and five intermediate layers, 162 to 166.
  • the input layer 161 performs a convolution operation, referred to as "Convolution" in Figure 2.
  • Each intermediate layer 162 to 166 performs an operation, called “Strided Convolution” in Figure 2, allowing both downscaling and convolution with a step (or “stride” in English).
  • the pattern activation map produced at the output of one layer is applied at the input of the next layer.
  • the i th decoder D i successively comprises five intermediate layers, 186 to 182, and an output layer 181.
  • Each intermediate layer 186 to 182 performs an operation called “transposed convolution” in FIG. 2, allowing both an increase in scale, a transposed convolution, and a concatenation with the pattern activation map calculated at the same resolution by the encoder £.
  • the output layer 161 performs a convolution and filtering operation, for example by calculating an average. This operation is called “Convolution + Average” in FIG. 2.
  • each layer of both the encoder and the decoders involve a certain number of parameters.
  • q e the parameters of the encoder e
  • q Di the parameters of the i th decoder D i .
  • the learning phase of the method according to the invention then consists in estimating the optimal values of the parameters q e and q Di , q D2 , q D3 , Q D4 which make it possible to properly separate the different contributions of a mixture.
  • the learning phase is defined as interlaced, in that the training data is processed in batches, each batch resulting from the combination of several subsets, each subset being related to an i th sound source.
  • a first embodiment of the learning phase is illustrated in Figure 3.
  • the learning phase 200 begins with a step 201 of instantiating the values of the parameters q e and q Di with initial values, for example drawn randomly according to a truncated Gaussian distribution, centered at 0 and whose standard deviation is defined according to l 'article by Kaiming He et al., "Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification", arXiv: 1502.01852, 2015.
  • the learning phase 200 consists in iterating (loop 202) the process 200 j , where j is an integer index.
  • the j th iteration of the 200 d process constitutes an epoch (or "epoch" in English).
  • the process 200 j begins with a step 205 of creating a plurality of M databases B i , with i between 1 and M. This step consists in selecting a predefined number of batches randomly from the set of training data. available. A lot, associated with an amplitude of one
  • step 206 the current values of the parameters q e and q Di are read, the size K (ie the number of batches) of the smallest database B i is determined, and the current value of an index k is instantiated to unity.
  • the process 200j then enters a first loop 207 relating to the value of an index k which must traverse all the values between 1 and K.
  • step 208 the current value of an index i is instantiated to the unit value.
  • the process 200j then enters a second loop 209 relating to the value of the index i which must traverse all the values between 1 and M.
  • step 210 for the current value of the index i, a lot is drawn randomly from the database B i . Once a batch has been drawn, it is removed from the corresponding database so that it can no longer be used in the rest of the j th iteration or epoch.
  • Step 220 consists in calculating the outputs of the encoder £ from the reference mixture signal Y ref of the batch drawn in step 210, and with the current values of the parameters q e . These outputs can be noted: e ⁇ Y ref ).
  • Step 230 consists in calculating the output of the decoders D i from the outputs of the encoder calculated in step 220 and with the current values of the parameters q Di. This output can be denoted: D i (e (Y ref )).
  • D i (e (Y ref ) an error is calculated between the output calculated in step 230, D i (e (Y ref )), and the reference contribution, of the batch drawn in step 210.
  • This error between the magnitude of the spectrogram estimated by the ANN and that of the reference spectrogram is calculated according to the equation:
  • dist is a measure of the distance between the magnitudes of two spectrograms, which in the preferred embodiment is chosen to be: i.e. the average of the absolute value of the
  • the distance is ⁇ that is, the mean of the square of the difference between two matrices.
  • step 250 and in step 260 the parameters of the encoder £ and of the decoder D t are simultaneously updated using a gradient descent procedure according to the equations:
  • V e the gradients, for each parameter Q are calculated according to the principle of backpropagation of the gradient, described in the book by lan Goodfellow et al., “Deep Learning”, MIT Press, 2016; and where l is a coefficient determined in accordance with an optimization rule used in this gradient descent procedure.
  • This optimization rule is for example the Adam algorithm, described in the article by Diederik Kingma et al. “Adam: A method for stochastic optimization”, arXiv preprint, arXiv: 1412.6980, 2014.
  • step 275 the current value of the index i is compared with its maximum value M.
  • step 270 If the maximum value is not reached, the current value of the index i is incremented by one (step 270), and steps 210 to 260 are repeated for another type of source to be separated.
  • step 285 the current value of the index k is compared with its maximum value K, in order to check whether there are still lots in the database having the smaller size.
  • the current value of the index k is increased by one unit and the current value of the index i is reinitialized to the unit value (step 280), before carrying out steps 210 to 260 again. .
  • step 290 a criterion is tested to determine whether the learning phase has ended. This criterion is for example a predefined number J of epochs for the learning phase. If the current value of the index j is less than J, then the index j is increased by one unit (step 290) and the learning phase passes to the iteration of the next process 200 j (repetition of steps 205 to 285).
  • step 295 when the criterion of step 295 is respected, the current values of the parameters q e and q Di are then blocked so as to define the suitably parameterized RNA used in the processing phase 100.
  • the parameters of the encoder and those of the decoders are updated simultaneously.
  • the encoder parameters are thus updated for each batch, that is to say for each type of source to be separated.
  • Learning takes place in an interlaced manner, by cyclically browsing all the databases where each database corresponds to a source whose contribution is to be separated.
  • FIG. 4 A second embodiment of the learning phase is shown in FIG. 4.
  • the steps of this second embodiment which are identical to steps of the first embodiment bear the same reference number increased by ′. one hundred.
  • the learning phase 300 begins with a step 301 of instantiating the values of the parameters q e and q Di with initial values, for example drawn randomly.
  • the learning phase 300 then consists in iterating (loop 302) the process 300 j , where j is an integer index.
  • the j th iteration of the process 300 d constitutes what is called in the technical field an "epoch” (or “epoch” in English).
  • the process 300 j begins with a step 305 of creating a plurality of M databases B i , with i between 1 and M. This step consists in selecting a predefined number of batches randomly from the set of training data. available.
  • a batch, (Y ref , S l ), associates with an amplitude of a reference mixture spectrogram, Y ref , an estimate of the amplitude of the spectrogram of the i th reference contribution ,, to this spectrogram of
  • selected is saved in the i th database, b i .
  • the databases B i are also independent of one another and asynchronous.
  • step 306 the current values of the parameters q e and q Di are read.
  • the size K of the smallest of the databases B i is determined, and the current value of an index k is instantiated to the unit value.
  • the process 300j then enters a first loop 307 relating to the value of the index k, which must traverse all the values between 1 and K.
  • step 308 the values of a plurality of variables G ⁇ ⁇ are initialized to the value zero.
  • Each of these variables is an accumulation variable of the gradient of a corresponding parameter q e of the encoder.
  • step 308 the current value of the index i is also instantiated to the unity value.
  • the process 300j then enters a second loop 309 relating to the value of the index i, which must traverse all the values between 1 and M.
  • step 310 for the current value of the index i, a batch (Y ref , S TM f ) is drawn randomly from the i th database, B i. Once a batch has been drawn, it is removed from the database so that it can no longer be used in the remainder of the j th epoch.
  • step 320 the outputs of the encoder e are calculated from the value of Y ref and with the current values of the parameters q e .
  • Step 330 then consists in calculating the output of the i th decoders D i from the outputs of the encoder calculated in step 320 and with the current values of the parameters q Di of the ith decoder D i .
  • step 340 an error L t is calculated between the output calculated in step 330, D i (e (Y ref )), and the reference contribution, This error is for example
  • step 350 the gradient on each of the parametersq e of the encoder £ is accumulated in the corresponding gradient accumulation variable Gq e according to the relation:
  • step 360 only the values of the parameters of the i th decoder D t are updated using a gradient descent procedure (similar to that implemented in the first embodiment):
  • step 375 the current value of the index i is compared with its maximum value M.
  • step 370 If the maximum value is not reached, the current value of index i is incremented by one (step 370), and steps 310 to 360 are repeated.
  • step 355 the value of each of the parameters of the encoderq e are updated with the current value of the corresponding gradient accumulation variable Gq e , according to the relation:
  • step 385 it is checked whether there are still lots in the database with the smallest size, i.e. if the index k t less than K.
  • the current value of the index k is increased by one unit and the value of each of the variables Gq e is reset to zero (step 380), before carrying out a new iteration consisting in successively going through the different databases.
  • the current epoch 300 j of the learning phase 300 ends.
  • a criterion is tested to determine whether the learning phase 300 has ended. For example, the learning consisting in the iteration of J epochs, where J is a predetermined integer, the current value of the index j is compared with J (step 395). If the index y is less than J, y is increased by one unit (step 290) and the learning phase iterates the process 300 j (repetition of steps 305 to 385).
  • step 395 when the criterion of step 395 is met, the current values of the parameters q e and q Di are blocked and they define the suitably configured RNA used in the processing phase 100.
  • the encoder parameters are not updated after each batch of data considered, but only once a batch for each type of source to be separated has been considered (ie at the output of loop 309).
  • This second embodiment can be qualified as interlaced learning with accumulation of the gradient.
  • step 350 the gradient on each of the parameters q e of the encoder £ is accumulated in the corresponding gradient accumulation variable Gq e according to the relation:
  • step 360 only the values of the parameters of the i th decoder Di are updated using a gradient descent procedure (similar to that implemented in the first embodiment):
  • step 375 the current value of the index i is compared with its maximum value M.
  • step 370 If the maximum value is not reached, the current value of index i is incremented by one (step 370), and steps 310 to 360 are repeated.
  • step 355 the value of each of the parameters of the encoder q e are updated with the current value of the corresponding gradient accumulation variable Gq e , according to the relation : q e
  • M is the number of sources to separate.
  • the accumulation is carried out not towards the sum of the gradients of each source, but towards an average value of the accumulation variable of the gradient Gq e .
  • This change does not change anything if determined by the ADAM optimization rule.
  • this modification changes the update force, thus making it possible to update the parameters of the encoder according to the average value of the gradients of each source, thus optimizing overall backpropagation,
  • the interlaced training method according to the invention also allows the transferability of the encoder for new tasks, such as the addition of a source to be separated a posteriori, knowing that the learning already carried out as well as the basics of data used allow simplified integration, without having to start all over again said training phase.
  • the common encoder trained to separate contributions from multiple sources can be used as a starting tool for training in separating contributions from a new source, such as guitar for example.
  • the learning phase is defined as interlaced, in that the training data is processed in packets, each packet resulting from the combination of several subsets, each subset being related to a i th sound source.
  • the interleaving of the training data packets allows the encoder to process a large amount of data since it processes data from all sources, and helps prevent over-learning if the new database is source to be separated is too small.
  • a common encoder makes it possible to save calculation time, as well as a reduction in the memory footprint of the model, in particular by reducing the number of parameters, and makes it possible to reduce the inference calculation time. compared to the time normally required by independent neural networks.
  • the learning phase therefore makes it possible to train an artificial neural network for the separation of multiple sound sources by sharing, at least at the level of the encoder, the information between the different target tasks to be performed (a target task being the separation of i th contribution), while allowing the use of independent and asynchronous databases.
  • This process retains the benefits of multitasking learning from a single artificial neural network, while allowing the use of a larger dataset for learning.
  • all reference mixing signals for which at least one reference component is available can be used for learning.
  • the data set is therefore not limited to only the reference mixing signals for which all of the reference components are available.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Quality & Reliability (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Circuit For Audible Band Transducer (AREA)

Abstract

Ce procédé de séparation de M sources utilise un réseau de neurones – RNA intégrant un encodeur (ε) et M décodeurs (D i). La phase de traitement consiste à : transformer (14) le signal acoustique de mélange (y(t)) pour obtenir une magnitude (Y) et une phase (φ) d'un spectrogramme de mélange; exécuter (15) le RNA convenablement paramétré sur la magnitude pour obtenir M estimations, la ième estimation (Ŝ l ) étant celle de la magnitude du spectrogramme de la ième contribution; transformer (20) une combinaison de la ième estimation (Ŝ l ) avec la phase (φ) pour obtenir un signal acoustique pure (s i (t)) de la ième contribution. Pour déterminer les paramètres optimaux du RNA, chaque époque de la phase d'apprentissage s'appuie avantageusement sur M bases de données indépendantes et asynchrones, un lot de la nième base de données associant une amplitude d'un spectrogramme d'un signal acoustique de mélange de référence et une amplitude d'un spectrogramme d'une contribution de référence, qui est la nième contribution du signal acoustique de mélange de référence.

Description

DESCRIPTION
Titre : Procédé de séparation d’un signal acoustique de mélange en une pluralité de M contributions sonores ; Produit programme d’ordinateur et support lisible d’informations associés.
La présente invention concerne un procédé de séparation de différentes contributions dans un signal sonore de mélange.
Une bande son d’une chanson résulte de la superposition de plusieurs contributions sonores produites par autant de sources.
A partir d’une bande son, on peut souhaiter vouloir isoler différentes contributions, par exemple une contribution vocale (les paroles chantées par un ou plusieurs chanteurs), une contribution percussive (la batterie et les autres éléments sonores de type percussion), une contribution basse (les instruments de musique dont les caractéristiques spectrales correspondent à une voix basse), ainsi qu’une contribution restante (l’ensemble des autres sources du mélange). D’autres décompositions sont bien évidemment envisageables en fonction des besoins de l’application envisagée, mais la décomposition précédente est standard dans le présent domaine technique, notamment pour permettre une comparaison des procédés de séparation entre eux. Cette décomposition sera plus particulièrement utilisée dans la suite du présent document pour présenter l’invention.
On connaît différents algorithmes de séparation qui permettent de séparer différentes contributions sonores dans un signal acoustique de mélange.
Par exemple, comme présenté dans l’article de Cédric Févotte et al.“Single- Channel audio source séparation with NMF: divergences, constraints and algorithms,” in Audio Source Séparation, Springer, 2018, il existe des algorithmes de séparation fondés sur une factorisation en matrices non-négatives.
Il existe également des algorithmes fondés sur des réseaux de neurones artificiels, ou RNA dans ce qui suit. De tels algorithmes, développés récemment, ont permis d’atteindre des résultats bien supérieurs à ceux obtenus avec des algorithmes de séparation fondés sur une factorisation en matrices non-négatives.
On connaît ainsi des RNA structurés selon une architecture convolutionnelle. On connaît ainsi par exemple l’architecture dite « MMDenseNet », décrite notamment dans l’article de Naoya Takahashi et al. “Multi-scale multi-band densenets for audio source séparation”, in IEEE Workshop on Applications of Signal Processing to Audio and Acoustics (WASPAA), 2017.
Un RNA utilisé dans l’analyse d’un signal de mélange est un RNA convenablement paramétré. Il résulte d’une phase d’apprentissage, dite supervisée, au cours de la laquelle sont déterminées les valeurs optimales des paramètres de ce RNA. Ces valeurs optimales sont déterminées en contraignant le RNA, en entrée, avec des signaux de mélange de référence et, en sortie, pour chaque signal de mélange de référence, avec les contributions attendues, dénommées contributions de référence. Pour l’apprentissage, il faut donc disposer d’une base de données d’apprentissage stockant des lots, un lot associant à un signal de référence une ou plusieurs contributions de référence cibles. Plus la base de données d’apprentissage sera étendue, plus le RNA convenablement paramétré obtenu à l’issue de la phase d’apprentissage sera performant.
La plupart des algorithmes connus de séparation de sources utilisant des RNA sont optimisés pour répondre à un objectif de séparation d’une unique contribution dans un mélange. Dans ces conditions, pour séparer plusieurs contributions dans un mélange, plusieurs RNA indépendants sont exécutés, par exemple en parallèle les uns des autres, chaque RNA permettant d’extraire une contribution particulière du mélange.
Cette approche est avantageuse en ce qu’il n’est pas nécessaire de posséder toutes les contributions de référence pour chaque signal de mélange de référence utilisé dans la phase d’apprentissage, mais seulement au moins une contribution de référence, permettant de déterminer les paramètres optimaux du RNA correspondant. La création de la base de données d’apprentissage s’en trouve par conséquent facilitée.
Cependant, la mise en œuvre d’un RNA unique optimisant plusieurs objectifs simultanément, c’est-à-dire ici de séparer plusieurs contributions sonores simultanément, pourrait amener de bien meilleurs résultats. En effet, comme théorisé dans l’article de Rich Caruana“Multitask Learning” in Machine Learning, volume 28 (1 ), pages 41 - 75, 1997, pour chaque objectif individuel, le biais d’information implicite glané lors de la phase d’apprentissage des autres objectifs, connexes, entraîne une meilleure généralisation du modèle que constitue le RNA convenablement paramétré.
Mais, pour un tel RNA unique, la phase d’apprentissage requiert de posséder toutes les contributions de référence pour chaque signal de mélange de référence utilisé pour paramétrer le réseau. Du fait de la difficulté de disposer de toutes les contributions de référence pour chaque signal de mélange de référence, la base de données d’apprentissage présente une taille réduite, ce qui limite grandement les performances du RNA paramétré utilisé pour l’analyse.
Le but de la présente invention est de pallier les problèmes précités, en proposant notamment un procédé alternatif de séparation fondé sur la mise en œuvre d’un réseau de neurones artificiels.
Pour cela l’invention a pour objet un procédé de séparation d’un signal acoustique de mélange en une pluralité de contributions sonores, la pluralité de contributions sonores comportant M contributions sonores respectivement indexées par un entier i, entre 1 et M, caractérisé en ce que ledit procédé, qui est mis en œuvre par ordinateur, comporte une phase d’apprentissage, consistant à déterminer des valeurs optimales pour des paramètres d’un algorithme structuré selon un réseau de neurones artificiels, et une phase de traitement, consistant à : transformer, dans le domaine fréquentiel, le signal acoustique de mélange pour obtenir un spectrogramme de mélange, qui est caractérisé par une magnitude et une phase ; exécuter l’algorithme structuré selon un réseau de neurones artificiels paramétré avec les valeurs optimales déterminées à l’issue de la phase d’apprentissage, sur la magnitude du spectrogramme de mélange, de manière à obtenir une pluralité de M estimations, la ième estimation étant une estimation d’une magnitude d’un spectrogramme de la ième contribution sonore ; transformer, dans le domaine temporel, une combinaison la ième estimation avec la phase, pour obtenir un signal acoustique pure de la ième contribution sonore, une architecture du réseau de neurones artificiels comportant un encodeur, qui est commun à la pluralité de contributions sonores, et une pluralité de décodeurs, le ième décodeur étant associé à la ième contribution sonore, les décodeurs étant indépendants les uns des autres et en série de l’encodeur, le ième décodeur délivrant, à partir des sorties de l’encodeur, la ième estimation.
Suivant des modes particuliers de réalisation, le procédé comporte une ou plusieurs des caractéristiques suivantes, prises isolément ou suivant toutes les combinaisons techniquement possibles :
- la phase d’apprentissage comporte une pluralité d’époques successives, chaque époque consistant : à créer une pluralité de M bases de données à partir d’un ensemble de lots d’entrainement, un lot stocké dans la nième base de données étant un lot qui associe une amplitude d’un spectrogramme d’un signal acoustique de mélange de référence et une amplitude d’un spectrogramme d’une contribution sonore de référence, ladite contribution sonore de référence étant la nième contribution sonore dudit signal acoustique de mélange de référence ; puis, à parcourir cycliquement chacune des bases de données, en réalisant, pour la valeur courante de l’indice i de la base de données considérée, les étapes consistant à : lire les valeurs courantes des paramètres de l’encodeur et du ième décodeur ; tirer un lot aléatoirement dans la base de données considérée ; calculer les sorties de l’encodeur à partir de l’amplitude du spectrogramme du signal de mélange de référence du lot tiré, avec les valeurs courantes des paramètres de l’encodeur ; calculer la sortie du ième décodeur à partir des sorties de l’encodeur, avec les valeurs courantes des paramètres du ième décodeur ; mesurer une erreur entre la sortie du ième décodeur et l’amplitude du spectrogramme de la contribution sonore de référence du lot tiré ; et, mettre simultanément à jour les valeurs courantes des paramètres de l’encodeur et du ième décodeur selon une procédure de descente du gradient à partir de l’erreur mesurée.
- la phase d’apprentissage comporte une pluralité d’époques successives, chaque époque consistant : à créer une pluralité de M bases de données à partir d’un ensemble de lots d’entrainement, un lot stocké dans la nième base de données étant un lot qui associe une amplitude d’un spectrogramme d’un signal acoustique de mélange de référence et une amplitude d’un spectrogramme d’une contribution sonore de référence, ladite contribution sonore de référence étant la nième contribution sonore dudit signal acoustique de mélange de référence ; puis, à parcourir cycliquement les bases de données, en réalisant, pour la valeur courante de l’indice i de la base de données considérée, les étapes consistant à : lire les valeurs courantes des paramètres de l’encodeur et du ième décodeurs ; tirer un lot aléatoirement dans une base de données considérée ; calculer les sorties de l’encodeur à partir de l’amplitude du spectrogramme du signal de mélange de référence du lot tiré, avec les valeurs courantes des paramètres de l’encodeur ; calculer la sortie du ième décodeur à partir des sorties de l’encodeur, avec les valeurs courantes des paramètres du ième décodeur ; mesurer une erreur entre la sortie du ième décodeur et l’amplitude du spectrogramme de la contribution sonore de référence du lot tiré ; mettre à jour les valeurs courantes des paramètres du ième décodeur à l’aide d’une procédure de descente du gradient à partir de l’erreur mesurée ; accumuler un gradient sur chacune des valeurs courantes des paramètres de l’encodeur dans une variable d’accumulation du gradient correspondante ; et, lorsque la valeur de l’indice i est égale à M, mettre à jour les valeurs courantes des paramètres de l’encodeur à l’aide des valeurs courantes des variables d’accumulation du gradient. - les bases de données de la pluralité de M bases de données sont indépendantes et asynchrones, c’est-à-dire qu’un signal acoustique de mélange de référence d’un lot contenu dans une base de données ne se retrouve pas forcément dans un lot d’une autre base de données et le nombre de lots d’une base de données n’est pas forcément égal au nombre de lots d’une autre base de données.
- l’étape consistant à une erreur entre la sortie du ième décodeur, notée Di(e(Yref )), et l’amplitude du spectrogramme de la contribution sonore de référence, notée
Figure imgf000007_0002
consiste à calculer une grandeur, notée Li selon la relation :
Figure imgf000007_0001
où dist est une distance, par exemple une moyenne de la valeur absolue de la différence entre deux matrices ou une moyenne du carré de la différence entre deux matrices.
- l’étape consistant à mettre à jour la valeur courante d’un paramètre qDi du ième décodeur au moyen d’une procédure de descente du gradient s’effectue selon l’équation : où le gradient est calculé par un algorithme de
Figure imgf000007_0003
Figure imgf000007_0009
rétropropagation du gradient ; et l est un coefficient dépendant d’une règle d’optimisation prédéfinie.
- l’étape consistant à mettre à jour la valeur courante d’un paramètre qe de l’encodeur s’effectue selon l’équation : où le gradient est
Figure imgf000007_0004
Figure imgf000007_0007
calculé par un algorithme de rétropropagation du gradient ; et l est un coefficient dépendant d’une règle d’optimisation prédéfinie.
- l’étape consistant à accumuler un gradient sur la valeur courante d’un paramètre qe de l’encodeur dans une variable d’accumulation du gradient correspondante, notée Gqe , est réalisée selon l’équation : où le
Figure imgf000007_0005
gradient est calculé par un algorithme de rétropropagation du gradient ; et
Figure imgf000007_0008
l’étape consistant à mettre à jour la valeur courante du paramètre qe de l’encodeur est faite selon l’équation : , où l est un coefficient dépendant d’une
Figure imgf000007_0006
règle d’optimisation prédéfinie, avant de réinitialiser à la valeur nulle la variable d’accumulation du gradient Gqe correspondante.
- l’encodeur et les M décodeurs respectent une architecture du type réseaux de neurones convolutionnels, de préférence tel que chaque décodeur soit symétrique de l’encodeur par rapport à chacune des sorties dudit encodeur.
- l’étape consistant à transformer dans le domaine temporel met en œuvre une transformation inverse d’une transformation temps-fréquence mise en œuvre dans l’étape consistant à transformer, dans le domaine fréquentiel, le signal acoustique de mélange. L’invention a également pour objet un produit programme d’ordinateur et un support lisible d’informations associés au procédé précédent.
L’invention et ses avantages seront mieux compris à la lecture de la description détaillée qui va suivre d’un mode de réalisation particulier, donné uniquement à titre d’exemple descriptif et non limitatif, cette description étant faite en se référant aux dessins annexés sur lesquels :
[Fig. 1 ] la figure 1 est une représentation sous forme de blocs de la phase de traitement du procédé de séparation selon l’invention ;
[Fig. 2] la figure 2 est une représentation sous forme de blocs d’un encodeur et d’un des décodeurs du réseau de neurones artificiels qui, une fois convenablement paramétré, est mis en œuvre dans la phase de traitement de la figure 1 ;
[Fig. 3] la figure 3 est un premier mode de réalisation d’une époque de la phase d’apprentissage du procédé selon l’invention, permettant de paramétrer convenablement le réseau de neurones artificiels de la figure 2 ;
[Fig. 4] la figure 4 est un second mode de réalisation d’une époque de la phase d’apprentissage du procédé selon l’invention, permettant de paramétrer convenablement le réseau de neurones artificiels de la figure 2 ; et
[Fig. 5] la figure 5 représente une vue schématique de l’utilisation des bases de données lors de la phase d’apprentissage selon l’invention.
Le procédé de séparation d’un signal acoustique de mélange en une pluralité de contributions sonores selon l’invention est mis en œuvre par un ordinateur. Celui- ci comporte un moyen de calcul, tel qu’un processeur, et un moyen de mémorisation, tel qu’une mémoire vive et/ou une mémoire morte. Le moyen de mémorisation stocke les instructions de programme d’ordinateur propres à être exécutées par le moyen de calcul.
En particulier, le moyen de mémorisation de l’ordinateur stocke un programme d’ordinateur dont l’exécution conduit à la réalisation du procédé selon l’invention. Ce programme d’ordinateur est par exemple écrit sur un support lisible d’informations, tel qu’un CD-ROM, et transféré vers le moyen de mémorisation pour y être stocké en vue de son exécution.
Le procédé de séparation d’un signal acoustique de mélange en une pluralité de contributions sonores selon l’invention comporte une phase d’apprentissage et une phase de traitement.
Phase de traitement La phase de traitement 100, représentée à la figure 1 , vise à analyser un signal acoustique de mélange, y(t), pour en extraire une pluralité de contributions sonores, Si(t), respectivement indexée par l’entier /, entre 1
Figure imgf000009_0001
où M est le nombre total de contributions sonores que l’on cherche à séparer. Une contribution étant associée à une source, on parlera indifféremment de la ième contribution ou de la contribution de la ième source.
La présente description est limitée, sans perte de généralité, à la séparation de quatre contributions sonores (M = 4) dans le signal acoustique de mélange y(t) : une première contribution s1(t) correspondant à une source vocale ; une seconde contribution s2(t) correspondant à une source percussive ; une troisième contribution s3(t) correspondant à une source basse ; et une quatrième contribution s4(t) correspondant à une source associée au reste de la musique.
La phase de traitement 100 comporte les étapes suivantes.
L’étape 12 est une étape d’acquisition du signal acoustique de mélange, y(t).
Le signal y(t ) est un signal temporel discrétisé. Il s’agit de préférence de tout ou partie d’une bande son, stockée dans le moyen de mémorisation de l’ordinateur. En variante, il peut s’agir de tout ou partie d’un enregistrement en direct, d’une chanson ou de l’équivalent, au moyen d’un microphone raccordé à l’ordinateur. Le signal y(t) peut être un signal mono ou stéréo.
A l’étape 14, le signal acoustique de mélange, y(t), est transformé dans le domaine fréquentiel, afin d’obtenir une représentation temps-fréquence du signal acoustique de mélange, aussi dénommée spectrogramme de mélange.
Dans le mode de réalisation envisagée, la transformée temps-fréquence utilisée est une transformée de Fourier à fenêtre glissante (STFT). Mais, en variante, d’autres transformations vers le domaine fréquentiel peuvent être utilisées, comme la transformée à Q constant, ou encore la transformée de Fourier à fenêtre glissante suivie d’un filtrage fréquentiel (en utilisant un banc de filtres en échelle « Mel » ou « Bark » par exemple).
Le spectrogramme de mélange se caractérise par une magnitude Y, et une phase f. Alors qu’une magnitude est généralement notée 1. 1, par soucis de clarté et sans perte de généralité, dans ce qui suit la notation 1. 1 est omise et les magnitudes sont dénotées par leur lettre capitale seule
L’étape 15 consiste ensuite à exécuter un algorithme ayant la structure d’un unique réseau de neurones artificiels convenablement paramétré ou RNA convenablement paramétré. Le RNA convenablement paramétré est obtenu à l’issue de la phase d’apprentissage du procédé selon l’invention, phase d’apprentissage qui sera décrite plus bas en référence aux figures 3 et 4.
L’algorithme exécuté à l’étape 15 prend en entrée la magnitude Y du spectrogramme de mélange et délivre en sortie une pluralité d’estimations pour
Figure imgf000010_0002
i = I, . . , M avec M le nombre total de sources sonores à séparer.
La ième estimation
Figure imgf000010_0003
est une estimation de la magnitude du spectrogramme de la contribution de la ième source sonore. Lorsque M vaut quatre, quatre estimations de magnitude sont obtenues, respectivement
Figure imgf000010_0001
Enfin, à l’étape 20, chaque estimation est d’abord combinée avec la phase
Figure imgf000010_0004
f de manière à obtenir une estimation du spectrogramme de la contribution de la ième source, cette dernière étant ensuite transformée dans le domaine temporel, pour obtenir le signal sonore pure de la contribution de la ième source, Si(t)· Chaque signal si(t) est un signal temporel discrétisé.
La transformation fréquence-temps utilisée à l’étape 20 est l’opération inverse de la transformation temps-fréquence utilisée à l’étape 14.
Architecture du RNA
Selon l’invention, le réseau de neurones artificiels - RNA, qui est utilisé à l’étape 15 après avoir été convenablement paramétré, comporte un encodeur commun, noté £, suivi d’une pluralité de M décodeurs, notés A-
Ainsi, l’étape 15 d’exécution de l’algorithme structuré selon ce RNA comporte une sous-étape d’encodage 16 suivie d’une pluralité de M étapes de décodages 18,.
Le RNA comporte ainsi un encodeur £ commun à la pluralité de décodeurss A- L’encodeur £ prend en entrée la magnitude Y du spectrogramme de mélange.
Les décodeurs A sont indépendants les uns des autres et disposés en parallèle les uns des autres en sortie de l’encodeur e.
Chaque décodeur A est associé à une unique contribution à séparer, celle de la ième source. Le ième décodeur éilivre en sortie l’estimation de la magnitude du spectrogramme de la contribution de la ième source.
L’architecture actuellement préférée du RNA utilisé dans le procédé selon l’invention est représentée en détail à la figure 2.
Alors que l’architecture d’un décodeur particulier peut être différente de celle des autres décodeurs, les différents décodeurs A ont de préférence une architecture identique. Alors que l’architecture d’un décodeur peut être indépendante de celle de l’encodeur, les décodeurs A adoptent avantageusement une architecture corrélée à celle de l’encodeur £. Ceci permet notamment de faciliter la convergence des valeurs des paramètres des différents modules que constituent l’encodeur et les décodeurs au cours de la phase d’apprentissage.
Dans le présent mode de réalisation, chaque module, encodeur ou décodeur, adopte une architecture convolutionnelle U-Net, telle que par exemple décrite dans l’article d’Andréas Jansson et al. “Singing Voice Séparation with Deep U-Net Convolutional Networks”, in Proc. International Society for Music Information Retrieval conférence (ISMIR), 2017. Cependant, d’autres architectures sont envisageables pour ces différents modules.
L’utilisation de l’architecture U-Net signifie que l’encodeur £ consiste en une pluralité de couches convolutionnelles successives, chaque couche correspondant à une résolution particulière et permettant d’extraire une carte d’activation de motif (ou « feature map » en Anglais) à partir de la carte d’activation de motif en sortie de la couche précédente de l’encodeur.
Les décodeurs A ont tous la même architecture.
Le ième décodeur consiste en une pluralité de couches convolutionnelles successive, chaque couche correspondant à une résolution particulière et permettant d’extraire une carte d’activation de motifs à partir de la carte d’activation en sortie de la couche précédente du décodeur et de la carte d’activation en sortie de la couche de l’encodeur de même résolution.
Il peut ainsi être dit que chaque décodeur est symétrique de l’encodeur par rapport à chacune des sorties de l’encodeur.
Sur la figure 2, l’encodeur £ comporte ainsi successivement une couche d’entrée 161 et cinq couches intermédiaires, 162 à 166.
La couche d’entrée 161 réalise une opération de convolution, dénommée « Convolution » sur la figure 2.
Chaque couche intermédiaire 162 à 166 réalise une opération, dénommée « Strided Convolution » sur la figure 2, permettant à la fois une réduction d’échelle et une convolution avec un pas (ou « stride » en anglais).
La carte d’activation de motif produite en sortie d’une couche est appliquée en entrée de la couche suivante.
Le ième décodeur Di comporte successivement cinq couches intermédiaires, 186 à 182, et une couche de sortie 181. Chaque couche intermédiaire 186 à 182 réalise une opération dénommée « transposed convolution » sur la figure 2, permettant à la fois une augmentation d’échelle, une convolution transposée, et une concaténation avec la carte d’activation de motif calculée à la même résolution par l’encodeur £.
La couche de sortie 161 réalise une opération de convolution et de filtrage, par exemple par calcul d’une moyenne. Cette opération est dénommée « Convolution + Average » sur la figure 2.
On constate que les informations extraites par l’encodeur £ à chaque résolution sont réutilisées et transformées par les décodeurs Di tout en augmentant la résolution jusqu’à retrouver en sortie, la résolution du signal d’entrée.
Les opérations réalisées par chaque couche aussi bien de l’encodeur que des décodeurs font intervenir un certain nombre de paramètres. On noteqe les paramètres de l’encodeur e et qDi les paramètres du ième décodeur D i.
La phase d’apprentissage du procédé selon l’invention consiste alors à estimer les valeurs optimales des paramètre qe et qDi, qD2, qD3, QD4 qui permettent de séparer convenablement les différentes contributions d’un mélange.
La phase d’apprentissage est définie comme entrelacée, en ce que les données d’entrainement sont traitées par lots, chaque lot résultant de la combinaison de plusieurs sous-ensembles, chaque sous-ensemble étant afférent à une ième source sonore.
Différentes implémentations de la phase d’apprentissage sont envisageables. Cependant, dans ce qui suit, deux modes de réalisation sont présentés qui tirent avantage de la structure particulière du RNA utilisé dans la présente invention.
Premier mode de réalisation de la phase d’apprentissage
Un premier mode de réalisation de la phase d’apprentissage est illustré sur la figure 3.
La phase d’apprentissage 200 débute avec une étape 201 d’instanciation des valeurs des paramètres qe et qDi avec des valeurs initiales, par exemple tirées aléatoirement selon une distribution gaussienne tronquée, centrée en 0 et dont la déviation standard est définie selon l’article de Kaiming He et al., « Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification », arXiv:1502.01852, 2015.
Puis, la phase d’apprentissage 200 consiste à itérer (boucle 202) le processus 200j, où j est un indice entier. La jème itération du processus 200j constitue une époque (ou « epoch » en anglais). Le processus 200j débute par une étape 205 de création d’une pluralité de M bases de données Bi, avec i entre 1 et M. Cette étape consiste à sélectionner un nombre prédéfini de lots aléatoirement dans l’ensemble des données d’apprentissage disponibles. Un lot, associe à une amplitude d’un
Figure imgf000013_0001
spectrogramme de mélange de référence, Yref , une estimation de l’amplitude du spectrogramme d’une contribution de référence, cette contribution de
Figure imgf000013_0002
référence étant la contribution de la ième source au spectrogramme de mélange de référence Yref . En fonction de l’indice i de sa contribution de référence,
Figure imgf000013_0003
un lot sélectionné est enregistré dans la base de données Bi correspondante.
II est possible qu’entre les différentes bases de données ainsi créées, aucun signal de mélange de référence ne soit commun. Il est également possible que ces bases de données ne contiennent pas le même nombre de lots. Pour ces raisons, les bases de données Bi sont dites indépendantes les unes des autres et asynchrones.
Puis, à l’étape 206, les valeurs courantes des paramètresqe et qDi sont lues, la taille K (i.e. le nombre de lots) de la plus petite base de données Bi est déterminée, et la valeur courante d’un indice k est instanciée à la valeur unité.
Le processus 200j entre alors dans une première boucle 207 portant sur la valeur d’un indice k qui doit parcourir l’ensemble des valeurs entre 1 et K.
Puis, à l’étape 208, la valeur courante d’un indice i est instanciée à la valeur unité.
Le processus 200j entre alors dans une seconde boucle 209 portant sur la valeur de l’indice i qui doit parcourir l’ensemble des valeurs entre 1 et M.
A l’étape 210, pour la valeur courante de l’indice i, un lot
Figure imgf000013_0004
est tirée aléatoirement dans la base de données Bi. Une fois qu’un lot a été tiré, il est retiré de la base de données correspondante pour ne plus pouvoir être utilisé dans la suite de la jème itération ou époque.
L’étape 220 consiste à calculer les sorties de l’encodeur £ à partir du signal de mélange de référence Yref du lot tiré à l’étape 210, et avec les valeurs courantes des paramètres qe. Ces sorties peuvent être notées : e{Yref).
L’étape 230 consiste à calculer la sortie du décodeurs Di à partir des sorties de l’encodeur calculées à l’étape 220 et avec les valeurs courantes des paramètres qDi. Cette sortie peut être notée : Di(e(Yref )). A l’étape 240, une erreur est calculée entre la sortie calculée à l’étape 230, Di(e(Yref )), et la contribution de référence,
Figure imgf000014_0001
du lot tiré à l’étape 210. Cette erreur entre la magnitude du spectrogramme estimé par le RNA et celle du spectrogramme de référence est calculée selon l’équation :
Figure imgf000014_0002
où dist est une mesure de distance entre les magnitudes de deux spectrogrammes, qui, dans le mode de réalisation préféré, est choisie comme étant : c’est-à-dire la moyenne de la valeur absolue de la
Figure imgf000014_0004
différence entre deux matrices A et B. En variante, la distance est \
Figure imgf000014_0005
Figure imgf000014_0006
c’est-à-dire la moyenne du carré de la différence entre deux matrices.
Ensuite, à l’étape 250 et à l’étape 260, les paramètres de l’encodeur £ et du décodeur Dt sont simultanément mis à jour à l’aide d’une procédure de descente du gradient selon les équations :
Figure imgf000014_0003
où les gradients, Ve, pour chaque paramètre Q sont calculés selon le principe de rétropropagation du gradient, décrit dans le livre de lan Goodfellow et al.,“Deep Learning”, MIT Press, 2016 ; et où l est un coefficient déterminé conformément à une règle d’optimisation utilisée dans cette procédure de descente du gradient. Cette règle d’optimisation est par exemple l’algorithme Adam, décrit dans l’article de Diederik Kingma et al.“Adam: A method for stochastic optimization”, arXiv preprint, arXiv:1412.6980, 2014.
A l’étape 275, la valeur courante de l’indice i est comparée à sa valeur maximale M.
Si la valeur maximale n’est pas atteinte, la valeur courante de l’indice i est incrémentée d’une unité (étape 270), et les étapes 210 à 260 sont répétées pour un autre type de source à séparer.
Si la valeur maximale de i est atteinte, alors, à l’étape 285, la valeur courante de l’indice k est comparée à sa valeur maximale K, afin de vérifier s’il existe encore des lots dans la base de données ayant la plus petite taille.
Dans l’affirmative, la valeur courante de l’indice k est augmentée d’une unité et la valeur courante de l’indice i est réinitialisée à la valeur unité (étape 280), avant de réaliser une nouvelle fois les étapes 210 à 260.
A défaut, l’ensemble des lots de la plus petite base ayant été utilisé pour l’apprentissage, le processus 200j se termine. Puis à l’étape 290, un critère est testé pour déterminer si la phase d’apprentissage est terminée. Ce critère est par exemple un nombre J prédéfini d’époques pour la phase d’apprentissage. Si la valeur courante de l’indice j est inférieure à J, alors l’indice j est augmenté d’une unité (étape 290) et la phase d’apprentissage passe à l’itération du processus 200j suivant (répétition des étapes 205 à 285).
En revanche, lorsque le critère de l’étape 295 est respecté, les valeurs courantes des paramètres qe et qDi sont alors bloquées de manière à définir le RNA convenablement paramétré utilisé dans la phase de traitement 100.
Selon ce premier mode de réalisation, les paramètres de l’encodeur et ceux des décodeurs sont mis à jour simultanément. Les paramètres de l’encodeur sont ainsi mis à jour pour chaque lot, c’est-à-dire pour chaque type de source à séparer. L’apprentissage se fait de manière entrelacée, en parcourant cycliquement l’ensemble des bases de données où chaque base correspond à une source dont la contribution est à séparer.
Il est à noter qu’il est préférable de stopper une époque lorsque la base de données la plus petite a été entièrement parcourue afin d’éviter un surapprentissage de l’encodeur sur les autres bases de données, en particulier la base de données la plus grande.
Second mode de réalisation de la phase d’apprentissage
Un second mode de réalisation de la phase d’apprentissage est représenté sur la figure 4. D’une manière générale, les étapes de ce second mode de réalisation identiques à des étapes du premier mode de réalisation portent le même chiffre de référence augmenté d’une centaine.
La phase d’apprentissage 300 débute avec une étape 301 d’instanciation des valeurs des paramètresqe et qDi avec des valeurs initiales, par exemple tirées aléatoirement.
La phase d’apprentissage 300 consiste ensuite à itérer (boucle 302) le processus 300j, où j est un indice entier. La jème itération du processus 300j constitue ce que l’on appelle dans le domaine technique une « époque » (ou « epoch » en anglais).
Le processus 300j débute par une étape 305 de création d’une pluralité de M bases de données Bi, avec i entre 1 et M. Cette étape consiste à sélectionner un nombre prédéfini de lots aléatoirement dans l’ensemble des données d’apprentissage disponibles. Un lot, ( Yref, Sl ), associe à une amplitude d’un spectrogramme de mélange de référence, Yref , une estimation de l’amplitude du spectrogramme de la ième contribution de référence, , à ce spectrogramme de
Figure imgf000016_0001
mélange de référence Yref . En fonction de l’indice i de l’estimation, le lot
Figure imgf000016_0002
sélectionné est enregistré dans la ième base de données, bi.
Figure imgf000016_0003
Les bases de données Bi sont également indépendantes les unes des autres et asynchrones.
Puis, à l’étape 306, les valeurs courantes des paramètres qe et qDi sont lues. La taille K de la plus petite des bases de données Bi est déterminée, et la valeur courante d’un indice k est instanciée à la valeur unité.
Le processus 300j entre alors dans une première boucle 307 portant sur la valeur de l’indice k, qui doit parcourir l’ensemble des valeurs entre 1 et K.
Puis, à l’étape 308, les valeurs d’une pluralité de variables Gθε sont initialisées à la valeur nulle. Chacune de ces variables est une variable d’accumulation du gradient d’un paramètre qe correspondant de l’encodeur.
A l’étape 308, la valeur courante de l’indice i est également instanciée à la valeur unité.
Le processus 300j entre alors dans une seconde boucle 309 portant sur la valeur de l’indice i, qui doit parcourir l’ensemble des valeurs entre 1 et M.
A l’étape 310, pour la valeur courante de l’indice i, un lot (Yref , S™f) est tirée aléatoirement dans la ième base de données, B i. Une fois qu’un lot a été tiré, il est retiré de la base de données pour ne plus pouvoir être utilisé dans la suite de la jème époque.
A l’étape 320, les sorties de l’encodeur e sont calculées à partir de la valeur de Yref et avec les valeurs courantes des paramètres qe .
L’étape 330 consiste alors à calculer la sortie du ième décodeurs Di à partir des sorties de l’encodeur calculées à l’étape 320 et avec les valeurs courantes des paramètres qDi du ième décodeur Di.
A l’étape 340, une erreur Lt est calculée entre la sortie calculée à l’étape 330, Di(e(Yref )), et la contribution de référence, Cette erreur est par exemple
Figure imgf000016_0004
calculée comme dans le premier mode de réalisation.
Ensuite, à l’étape 350, le gradient sur chacun des paramètresqe de l’encodeur £ est accumulé dans la variable d’accumulation du gradient Gqe correspondante selon la relation :
Figure imgf000016_0005
A l’étape 360, seules les valeurs des paramètres du ième décodeur Dt sont mises à jour à l’aide d’une procédure de descente du gradient (similaire à celle mise en œuvre dans le premier mode de réalisation) :
Figure imgf000017_0001
A l’étape 375, la valeur courante de l’indice i est comparée à sa valeur maximale M.
Si la valeur maximale n’est pas atteinte, la valeur courante de l’indice i est incrémentée d’une unité (étape 370), et les étapes 310 à 360 sont répétées.
Si la valeur maximale est atteinte, alors, à l’étape 355, la valeur de chacun des paramètres de l’encodeurqe sont mis à jour avec la valeur courante de la variable d’accumulation du gradient Gqe correspondante, selon la relation :
qe
Figure imgf000017_0002
Puis, à l’étape 385, il est vérifié s’il existe encore des lots dans la base de données ayant la plus petite taille, i.e. si l’indice k t inférieur à K.
Si c’est le cas, la valeur courante de l’indice k est augmentée d’une unité et la valeur de chacune des variables Gqe est remise à zéro (étape 380), avant de réaliser une nouvelle itération consistant à parcourir successivement les différentes bases de données.
Si ce n’est pas le cas, l’époque courante 300j de la phase d’apprentissage 300 se termine.
Puis à l’étape 390, un critère est testé pour déterminer si la phase d’apprentissage 300 est terminée. Par exemple, l’apprentissage consistant en l’itération de J époques, où J est un entier prédéterminé, la valeur courante de l’indice j est comparée à J (étape 395). Si l’indice y est inférieur à J, y est augmenté d’une unité (étape 290) et la phase d’apprentissage itère le processus 300j (répétition des étapes 305 à 385).
En revanche, lorsque le critère de l’étape 395 est respecté, les valeurs courantes des paramètres qe et qDi sont bloquées et elles définissent le RNA convenablement paramétré utilisé dans la phase de traitement 100.
Dans ce second mode de réalisation, les paramètres de l’encodeur ne sont pas mis à jour après chaque lot de données considéré, mais seulement une fois qu’un lot pour chaque type de source à séparer a été considéré (i.e. à la sortie de la boucle 309).
Les gradients des paramètres de l’encodeur sont accumulés pour chaque lot de données jusqu’à ce que toutes les types de source aient été vues
Figure imgf000017_0003
une fois. À ce moment-là, chaque paramètre de l’encodeur est mis à jour en une seule fois, dans la direction du gradient accumulé, puis la variable d’accumulation est réinitialisée à zéro pour l’itération suivante de la boucle 309.
Ce second mode de réalisation peut être qualifié d’apprentissage entrelacée avec accumulation du gradient.
Selon un mode de réalisation particulier de la méthode d’apprentissage entrelacé avec accumulation de gradient, à l’étape 350, le gradient sur chacun des paramètres qe de l’encodeur £ est accumulé dans la variable d’accumulation du gradient Gqe correspondante selon la relation :
Figure imgf000018_0001
A l’étape 360, seules les valeurs des paramètres du ième décodeur Di sont mises à jour à l’aide d’une procédure de descente du gradient (similaire à celle mise en œuvre dans le premier mode de réalisation) :
Figure imgf000018_0002
Lors de l’étape 375, la valeur courante de l’indice i est comparée à sa valeur maximale M.
Si la valeur maximale n’est pas atteinte, la valeur courante de l’indice i est incrémentée d’une unité (étape 370), et les étapes 310 à 360 sont répétées.
Si la valeur maximale est atteinte, alors, à l’étape 355, la valeur de chacun des paramètres de l’encodeur qe sont mis à jour avec la valeur courante de la variable d’accumulation du gradient Gqe correspondante, selon la relation : qe
Figure imgf000018_0003
Où M est le nombre de sources à séparer.
Ainsi, alternativement, l’accumulation s’effectue non pas vers la somme des gradients de chaque source, mais vers une valeur moyenne de la variable d’accumulation du gradient Gqe .
Cette modification ne change rien si l est déterminé par la règle d’optimisation ADAM.
En revanche, dans le cas d’une descente de gradient stochastique classique, cette modification change la force de mise à jour, permettant ainsi de mettre à jour les paramètres de l'encodeur selon la valeur moyenne des gradients de chaque source, optimisant ainsi de manière globale la rétropropagation,
La méthode d’entrainement entrelacé selon l’invention permet en outre la transférabilité de l’encodeur pour de nouvelles tâches, tel que l’ajout d’une source à séparer à postériori, sachant que l’apprentissage déjà effectué ainsi que les bases de données utilisées permettent une intégration simplifiée, sans nécessiter de recommencer entièrement ladite phase d’entrainement.
L’encodeur commun entraîné pour séparer les contributions de plusieurs sources, tel que batterie, basse, voix, et reste musical, peut être utilisé comme outil de départ pour l’entrainement à la séparation de contributions d’une nouvelle source, tel que la guitare par exemple.
En référence à la figure 5, la phase d’apprentissage est définie comme entrelacée, en ce que les données d’entrainement sont traitées par paquets, chaque paquet résultant de la combinaison de plusieurs sous-ensembles, chaque sous- ensemble étant afférents à une ième source sonore.
L’entrelacement des paquets de données d’entrainement permet à l’encodeur de traiter une grande quantité de données puisqu’il traite les données de toutes les sources, et permet d’éviter le sur-apprentissage si la base de données de la nouvelle source à séparer est trop petite.
Avantageusement, un encodeur commun selon l’invention permet une économie du temps de calcul, ainsi qu’une réduction de l’empreinte mémoire du modèle, notamment par la réduction du nombre de paramètres, et permet de réduire le temps de calcul d’inférence par rapport au temps normalement requis par des réseaux de neurones indépendants.
Une telle méthode permet donc d’exécuter le procédé sur une machine comportant une vitesse de calcul limitée. La phase d’apprentissage permet donc d’entraîner un réseau de neurones artificiel pour la séparation de multiples sources sonores en partageant, tout au moins au niveau de l’encodeur, l’information entre les différentes tâches cibles à réaliser (une tâche cible étant la séparation de ième contribution), tout en autorisant l’utilisation de bases de données indépendantes et asynchrones.
Ce procédé permet de conserver les avantages de l’apprentissage multitâches d’un réseau de neurones artificiels unique, tout en permettant l’utilisation d’un ensemble de données plus étendu pour l’apprentissage.
En effet, sont utilisables pour l’apprentissage tous les signaux de mélange de référence pour lesquels on dispose d’au moins une composante de référence. L’ensemble des données n’est donc pas limité aux seuls signaux de mélange de référence pour lesquels on dispose de toutes les composantes de référence.

Claims

REVENDICATIONS
1. Procédé de séparation d’un signal acoustique de mélange (y(t)) en une pluralité de contributions sonores, la pluralité de contributions sonores comportant M contributions sonores respectivement indexées par un entier i, entre 1 et M, caractérisé en ce que ledit procédé, qui est mis en œuvre par ordinateur, comporte une phase d’apprentissage (200, 300) supervisé entrelacé, consistant à déterminer des valeurs optimales pour des paramètres d’un algorithme structuré selon un réseau de neurones artificiels comportant une pluralité d’époques successives, chaque époque consistant :
- à créer (205) une pluralité de M bases de données à partir d’un ensemble de lots d’entrainement, un lot stocké dans la nième base de données étant un lot qui associe une amplitude d’un spectrogramme d’un signal acoustique de mélange de référence et une amplitude d’un spectrogramme d’une contribution sonore de référence, ladite contribution sonore de référence étant la nième contribution sonore dudit signal acoustique de mélange de référence ; puis,
- à parcourir cycliquement chacune des bases de données, en réalisant, pour la valeur courante de l’indice i de la base de données considérée, les étapes consistant à
- lire (206) les valeurs courantes des paramètres de l’encodeur et du ième décodeur ;
- tirer (210) un lot aléatoirement dans la base de données considérée (Bi) ;
- calculer (220) les sorties de l’encodeur (S) à partir de l’amplitude du spectrogramme du signal de mélange de référence du lot tiré, avec les valeurs courantes des paramètres de l’encodeur ;
- calculer (230) la sortie du ième décodeur (Di) à partir des sorties de l’encodeur, avec les valeurs courantes des paramètres du ième décodeur ;
- mesurer (240) une erreur entre la sortie du ième décodeur et l’amplitude du spectrogramme de la contribution sonore de référence du lot tiré ; et
- mettre à jour (250/260, 360/355) les valeurs courantes des paramètres de l’encodeur (£) et du ième décodeur (Di) selon une procédure choisie.
, et une phase de traitement (100), consistant à :
- transformer (14), dans le domaine fréquentiel, le signal acoustique de mélange (y(t)) pour obtenir un spectrogramme de mélange, qui est caractérisé par une magnitude (Y) et une phase (f) ;
- exécuter (15) l’algorithme structuré selon un réseau de neurones artificiels paramétré avec les valeurs optimales déterminées à l’issue de la phase d’apprentissage (200, 300), sur la magnitude du spectrogramme de mélange (Y), de manière à obtenir une pluralité de M estimations, la ième estimation étant une
Figure imgf000021_0002
estimation d’une magnitude d’un spectrogramme de la ième contribution sonore ;
- transformer (20), dans le domaine temporel, une combinaison la ième estimation avec la phase (f), pour obtenir un signal acoustique pure (s;(t)) de
Figure imgf000021_0003
la ième contribution sonore,
une architecture du réseau de neurones artificiels comportant un encodeur (£), qui est commun à la pluralité de contributions sonores, et une pluralité de M décodeurs, le ième décodeur (A) étant associé à la ième contribution sonore, les décodeurs étant indépendants les uns des autres et en série de l’encodeur, le ième décodeur délivrant, à partir des sorties de l’encodeur, la ième estimation
Figure imgf000021_0001
2. Procédé de séparation selon la revendication 1 , caractérisé en ce que la phase d’apprentissage supervisé entrelacé (200) comporte une étape de mise à jour (250, 260) les valeurs courantes des paramètres de l’encodeur (£) et du ième décodeur (A) consistant à mettre (250, 260) simultanément à jour les valeurs courantes des paramètres de l’encodeur (e) et du ième décodeur (A) selon une procédure de descente du gradient à partir de l’erreur mesurée.
3. Procédé de séparation selon la revendication 1 , caractérisé en ce que la phase d’apprentissage supervisé entrelacé (300) comporte une étape de mise à jour (250, 260) les valeurs courantes des paramètres de l’encodeur (£) et du ième décodeur (A) consistant à : :
- mettre à jour (360) les valeurs courantes des paramètres du ième décodeur (A) à l’aide d’une procédure de descente du gradient à partir de l’erreur mesurée ;
- accumuler (350) un gradient sur chacune des valeurs courantes des paramètres de l’encodeur dans une variable d’accumulation du gradient correspondante ; et,
- lorsque la valeur de l’indice i est égale à M, mettre à jour (355) les valeurs courantes des paramètres de l’encodeur (£) à l’aide des valeurs courantes des variables d’accumulation du gradient.
4. Procédé de séparation selon l’une quelconque des revendications 2 à 3, caractérisé en ce que les bases de données de la pluralité de M bases de données sont indépendantes et asynchrones, c’est-à-dire qu’un signal acoustique de mélange de référence d’un lot contenu dans une base de données ne se retrouve pas forcément dans un lot d’une autre base de données et le nombre de lots d’une base de données n’est pas forcément égal au nombre de lots d’une autre base de données.
5. Procédé de séparation selon la revendication 4, caractérisé en ce que les bases de données de la pluralité de M bases de données d’entrainement sont traitées par lots, chaque lot résultant de la combinaison de plusieurs sous- ensembles, chaque sous-ensemble étant afférents à une ième source sonore.
6. Procédé de séparation selon l’une quelconque des revendications 2 à 5, caractérisé en ce que l’étape consistant à mesurer (240, 340) une erreur entre la sortie du ième décodeur, notée et l’amplitude du spectrogramme de la contribution sonore de référen
Figure imgf000022_0001
ce, notée consiste à calculer une grandeur, notée Li, selon la relation :
Figure imgf000022_0002
où dist est une distance, par exemple une moyenne de la valeur absolue de la différence entre deux matrices ou une moyenne du carré de la différence entre deux matrices.
7. Procédé de séparation selon la revendication 6, caractérisé en ce que l’étape consistant à mettre à jour (260, 360) la valeur courante d’un paramètre qDi du ième décodeur au moyen d’une procédure de descente du gradient s’effectue selon l’équation :
Figure imgf000022_0003
où le gradient est calculé par un algorithme de rétropropagation du
Figure imgf000022_0004
gradient ; et l est un coefficient dépendant d’une règle d’optimisation prédéfinie.
8. Procédé de séparation selon la revendication 2 et la revendication 6 en combinaison, caractérisé en ce que l’étape consistant à mettre à jour (250) la valeur courante d’un paramètreqe de l’encodeur s’effectue selon l’équation :
Figure imgf000023_0007
où le gradient est calculé par un algorithme de rétropropagation du
Figure imgf000023_0010
gradient ; et l est un coefficient dépendant d’une règle d’optimisation prédéfinie.
9. Procédé de séparation selon la revendication 3 et la revendication 6 en combinaison, caractérisé en ce que l’étape consistant à accumuler (350) un gradient sur la valeur courante d’un paramètre qe de l’encodeur dans une variable d’accumulation du gradient correspondante, notée Gqe , est réalisée selon l’équation :
Figure imgf000023_0001
où le gradient est calculé par un algorithme de rétropropagation du gradient ;
Figure imgf000023_0008
et en ce que l’étape consistant à mettre à jour (355) la valeur courante du paramètre qe de l’encodeur est faite selon l’équation :
Figure imgf000023_0002
où l est un coefficient dépendant d’une règle d’optimisation prédéfinie, avant de réinitialiser à la valeur nulle la variable d’accumulation du gradient G
Figure imgf000023_0006
qe correspondante.
10. Procédé de séparation selon les revendications 3, 6 et 7 en combinaison, caractérisé en ce que l’étape consistant à accumuler (350) un gradient sur la valeur courante d’un paramètreqe de l’encodeur dans une variable d’accumulation du gradient correspondante, notée est réalisée selon
Figure imgf000023_0005
l’équation :
Figure imgf000023_0003
où le gradient est calculé par un algorithme de rétropropagation du
Figure imgf000023_0009
gradient ;
et en ce que l’étape consistant à mettre à jour (355) la valeur courante du paramètreqe de l’encodeur est faite selon l’équation :
Figure imgf000023_0004
où l est un coefficient dépendant d’une règle d’optimisation prédéfinie, avant de réinitialiser à la valeur nulle la variable d’accumulation du gradient Gqe correspondante, et où M est le nombre de sources à séparer.
11. Procédé de séparation selon l’une quelconque des revendications 1 à 10, caractérisé en ce que l’encodeur (£) et les M décodeurs (D{) respectent une architecture du type réseaux de neurones convolutionnels, de préférence tel que chaque décodeur soit symétrique de l’encodeur par rapport à chacune des sorties dudit encodeur.
12. Procédé de séparation selon l’une quelconque des revendications 1 à 10, caractérisé en ce que l’étape consistant à transformer (20) dans le domaine temporel met en œuvre une transformation inverse d’une transformation temps- fréquence mise en œuvre dans l’étape consistant à transformer (14), dans le domaine fréquentiel, le signal acoustique de mélange (y(t)).
13. Produit programme d’ordinateur comprenant un support lisible d’informations, sur lequel est mémorisé un programme d’ordinateur comprenant des instructions de programme, le programme d’ordinateur étant chargeable dans des moyens de mémorisation d’un ordinateur et exécutable par des moyens de calcul dudit ordinateur pour mettre en œuvre un procédé conforme au procédé de séparation selon l’une quelconque des revendications 1 à 12.
14. Support lisible d’informations sur lequel est mémorisé un programme d’ordinateur comprenant des instructions de programme, le programme d’ordinateur étant chargeable dans des moyens de mémorisation d’un ordinateur et exécutable par des moyens de calcul dudit ordinateur pour mettre en œuvre un procédé conforme au procédé de séparation selon l’une quelconque des revendications 1 à 12.
PCT/EP2020/070219 2019-07-17 2020-07-16 Procédé de séparation d'un signal acoustique de mélange en une pluralité de m contributions sonores; produit programme d'ordinateur et support lisible d'informations associés WO2021009319A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FRFR1908036 2019-07-17
FR1908036A FR3098973A1 (fr) 2019-07-17 2019-07-17 Procédé de séparation d’un signal acoustique de mélange en une pluralité de M contributions sonores ; Produit programme d’ordinateur et support lisible d’informations associés.

Publications (1)

Publication Number Publication Date
WO2021009319A1 true WO2021009319A1 (fr) 2021-01-21

Family

ID=68806920

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2020/070219 WO2021009319A1 (fr) 2019-07-17 2020-07-16 Procédé de séparation d'un signal acoustique de mélange en une pluralité de m contributions sonores; produit programme d'ordinateur et support lisible d'informations associés

Country Status (2)

Country Link
FR (1) FR3098973A1 (fr)
WO (1) WO2021009319A1 (fr)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113077811A (zh) * 2021-04-01 2021-07-06 西北工业大学 一种基于参数化多相位gammatone滤波器组的语音分离方法
CN113593590A (zh) * 2021-07-23 2021-11-02 哈尔滨理工大学 一种语音中瞬态噪声的抑制方法
CN115995235A (zh) * 2023-03-23 2023-04-21 世优(北京)科技有限公司 基于语音信号分离的远程数字人交互方法、装置及系统
WO2023207665A1 (fr) * 2022-04-29 2023-11-02 华为技术有限公司 Procédé de traitement de données et dispositif associé

Non-Patent Citations (11)

* Cited by examiner, † Cited by third party
Title
ANDREAS JANSSON ET AL.: "Singing Voice Séparation with Deep U-Net Convolutional Networks", PROC. INTERNATIONAL SOCIETY FOR MUSIC INFORMATION RETRIEVAL CONFÉRENCE (ISMIR, 2017
CÉDRIC FÉVOTTE ET AL.: "Audio Source Séparation", 2018, SPRINGER, article "Single-Channel audio source séparation with NMF: divergences, constraints and algorithms"
CHANDNA PRITISH ET AL: "Monoaural Audio Source Separation Using Deep Convolutional Neural Networks", 15 February 2017, INTERNATIONAL CONFERENCE ON FINANCIAL CRYPTOGRAPHY AND DATA SECURITY; [LECTURE NOTES IN COMPUTER SCIENCE; LECT.NOTES COMPUTER], SPRINGER, BERLIN, HEIDELBERG, PAGE(S) 258 - 266, ISBN: 978-3-642-17318-9, XP047404905 *
DIEDERIK KINGMA ET AL., ADAM: A METHOD FOR STOCHASTIC OPTIMIZATION, 2014
DIEDERIK P KINGMA ET AL: "Adam: A Method for Stochastic Optimization", ICLR 2015, 23 July 2015 (2015-07-23), XP055425253, Retrieved from the Internet <URL:https://arxiv.org/pdf/1412.6980v8.pdf> [retrieved on 20171115] *
KAIMING HE ET AL., DELVING DEEP INTO RECTIFIERS: SURPASSING HUMAN-LEVEL PERFORMANCE ON IMAGENET CLASSIFICATION, 2015
LAN GOODFELLOW ET AL.: "Deep Learning", 2016, MIT PRESS
NAOYA TAKAHASHI ET AL.: "Multi-scale multi-band densenets for audio source separation", IEEE WORKSHOP ON APPLICATIONS OF SIGNAL PROCESSING TO AUDIO AND ACOUSTICS (WASPAA, 2017
NING ZHANG ET AL: "Weakly Supervised Audio Source Separation via Spectrum Energy Preserved Wasserstein Learning", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 11 November 2017 (2017-11-11), XP081316345 *
RICH CARUANA: "Multitask Learning", MACHINE LEARNING, vol. 28, no. 1, 1997, pages 41 - 75
SAMIRA POUYANFAR ET AL: "A Survey on Deep Learning : Algorithms, Techniques, and Applications", ACM COMPUTING SURVEYS., vol. 51, no. 5, 18 September 2018 (2018-09-18), US, pages 1 - 36, XP055653910, ISSN: 0360-0300, DOI: 10.1145/3234150 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113077811A (zh) * 2021-04-01 2021-07-06 西北工业大学 一种基于参数化多相位gammatone滤波器组的语音分离方法
CN113077811B (zh) * 2021-04-01 2023-06-30 西北工业大学 一种基于参数化多相位gammatone滤波器组的语音分离方法
CN113593590A (zh) * 2021-07-23 2021-11-02 哈尔滨理工大学 一种语音中瞬态噪声的抑制方法
WO2023207665A1 (fr) * 2022-04-29 2023-11-02 华为技术有限公司 Procédé de traitement de données et dispositif associé
CN115995235A (zh) * 2023-03-23 2023-04-21 世优(北京)科技有限公司 基于语音信号分离的远程数字人交互方法、装置及系统

Also Published As

Publication number Publication date
FR3098973A1 (fr) 2021-01-22

Similar Documents

Publication Publication Date Title
WO2021009319A1 (fr) Procédé de séparation d&#39;un signal acoustique de mélange en une pluralité de m contributions sonores; produit programme d&#39;ordinateur et support lisible d&#39;informations associés
Grais et al. Raw multi-channel audio source separation using multi-resolution convolutional auto-encoders
Park et al. Music Source Separation Using Stacked Hourglass Networks.
Turan et al. Achieving multi-accent ASR via unsupervised acoustic model adaptation
EP2603862B1 (fr) Procédé d&#39;analyse de signaux fournissant des fréquences instantanées et des transformées de fourier glissantes et dispositif d&#39;analyse de signaux
CN111899757B (zh) 针对目标说话人提取的单通道语音分离方法及系统
Shrivastava et al. Echo state speech recognition
CN110534091A (zh) 一种基于微服务器及智能语音识别的人车交互方法
Nguyen et al. Music genre classification using residual attention network
EP3040989A1 (fr) Procédé de séparation amélioré et produit programme d&#39;ordinateur
Shi et al. Music genre classification based on chroma features and deep learning
Fernandes et al. Speech Emotion Recognition Using Deep Learning LSTM for Tamil Language.
Ikhsan et al. Automatic musical genre classification of audio using Hidden Markov Model
Saito et al. Sampling-frequency-independent audio source separation using convolution layer based on impulse invariant method
Krishnan et al. Features of wavelet packet decomposition and discrete wavelet transform for malayalam speech recognition
Kızrak et al. Classification of classic Turkish music makams
Wang et al. Revealing the processing history of pitch-shifted voice using CNNs
EP2766825B1 (fr) Systeme et procede non supervise d&#39;analyse et de structuration thematique multi resolution de flux audio
EP2804129A1 (fr) Procédé de reconnaissance vocale visuelle avec sélection de groupes de points d&#39;intérêts les plus pertinents
Zhu et al. DPTCN-ATPP: Multi-scale end-to-end modeling for single-channel speech separation
FR3005776A1 (fr) Procede de reconnaissance vocale visuelle par suivi des deformations locales d&#39;un ensemble de points d&#39;interet de la bouche du locuteur
FR3028086B1 (fr) Procede de recherche automatise d&#39;au moins une sous-sequence sonore representative au sein d&#39;une bande sonore
CN113241092A (zh) 基于双注意力机制和多阶段混合卷积网络声源分离方法
WO2008122744A1 (fr) Procede de generation de signaux mutuellement orthogonaux dont le spectre est controle
Kumari et al. Music Genre Classification for Indian Music Genres

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20746121

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: CONSTATATION DE LA PERTE D'UN DROIT CONFORMEMENT A LA REGLE 112(1) CBE (OEB FORM 1205A EN DATE DU 24//04/2023)

122 Ep: pct application non-entry in european phase

Ref document number: 20746121

Country of ref document: EP

Kind code of ref document: A1