Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR SEPARATING AN ACOUSTIC MIX SIGNAL INTO A PLURALITY OF M SOUND CONTRIBUTIONS; ASSOCIATED COMPUTER PROGRAM PRODUCT AND ASSOCIATED READABLE DATA MEDIUM
Document Type and Number:
WIPO Patent Application WO/2021/009319
Kind Code:
A1
Abstract:
This method for separating M sources uses a neural network – ANN incorporating an encoder (ε) and M decoders (D i). The processing phase consists in: transforming (14) the acoustic mix signal (y(t)) in order to obtain a magnitude (Y) and a phase (φ) of a mix spectrogram; running (15) the ANN suitably parameterized for the magnitude in order to obtain M estimates, the ith estimate (Ŝ l ) being that of the magnitude of the spectrogram of the ith contribution; transforming (20) a combination of the ith estimate (Ŝ l ) with the phase (φ) in order to obtain a pure acoustic signal (s i (t)) of the ith contribution. To determine the optimal parameters of the ANN, each epoch of the learning phase is advantageously based on M independent, asynchronous databases, a batch of the nth database associating an amplitude of a spectrogram of a reference acoustic mix signal and an amplitude of a spectrogram of a reference contribution, which is the nth contribution of the reference acoustic mix signal.

Inventors:
DOIRE CLÉMENT (FR)
OKUBADEJO OLUMIDE (FR)
Application Number:
PCT/EP2020/070219
Publication Date:
January 21, 2021
Filing Date:
July 16, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
AUDIONAMIX SA (FR)
International Classes:
G10L21/0272; G10H1/00; G10H1/36; G10L25/30; G06N3/02; G06N20/00; G10L25/18
Foreign References:
Other References:
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
DIEDERIK P KINGMA ET AL: "Adam: A Method for Stochastic Optimization", ICLR 2015, 23 July 2015 (2015-07-23), XP055425253, Retrieved from the Internet [retrieved on 20171115]
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
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
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"
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
RICH CARUANA: "Multitask Learning", MACHINE LEARNING, vol. 28, no. 1, 1997, pages 41 - 75
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
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
DIEDERIK KINGMA ET AL., ADAM: A METHOD FOR STOCHASTIC OPTIMIZATION, 2014
Attorney, Agent or Firm:
IPON GLOBAL (FR)
Download PDF:
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

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

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

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 ce, notée consiste à calculer une grandeur, notée Li, selon la relation :

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 :

où le gradient est 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.

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 :

où le gradient est 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. 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 :

où le gradient est calculé par un algorithme de rétropropagation du gradient ;

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 :

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 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

l’équation :

où le gradient est calculé par un algorithme de rétropropagation du

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 :

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.

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 D i (e(Y ref )), et l’amplitude du spectrogramme de la contribution sonore de référence, notée consiste à calculer une grandeur, notée L i selon la relation : 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 q Di 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

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 q e de l’encodeur s’effectue selon l’équation : où le gradient est 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 q e de l’encodeur dans une variable d’accumulation du gradient correspondante, notée Gq e , est réalisée selon l’équation : où le

gradient est calculé par un algorithme de rétropropagation du gradient ; et

l’étape consistant à mettre à jour la valeur courante du paramètre q e de l’encodeur est faite selon l’équation : , 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 Gq e 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, S i (t), respectivement indexée par l’entier /, entre 1 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 s 1 (t) correspondant à une source vocale ; une seconde contribution s 2 (t) correspondant à une source percussive ; une troisième contribution s 3 (t) correspondant à une source basse ; et une quatrième contribution s 4 (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 i = I, . . , M avec M le nombre total de sources sonores à séparer.

La i ème estimation 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

Enfin, à l’étape 20, chaque estimation est d’abord combinée avec la phase

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, S i (t)· Chaque signal s i (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 D i 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 D i 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 noteq e les paramètres de l’encodeur e et q Di 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 q e et q Di , q D2 , q D3 , Q D4 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 q e et q Di 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 200 j , où j est un indice entier. La j ème itération du processus 200 j constitue une époque (ou « epoch » en anglais). Le processus 200 j débute par une étape 205 de création d’une pluralité de M bases de données B i , 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

spectrogramme de mélange de référence, Y ref , une estimation de l’amplitude du spectrogramme d’une contribution de référence, cette contribution de

référence étant la contribution de la i ème source au spectrogramme de mélange de référence Y ref . En fonction de l’indice i de sa contribution de référence, un lot sélectionné est enregistré dans la base de données B i 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 B i sont dites indépendantes les unes des autres et asynchrones.

Puis, à l’étape 206, les valeurs courantes des paramètresq e et q Di sont lues, la taille K (i.e. le nombre de lots) de la plus petite base de données B i 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 est tirée aléatoirement dans la base de données B i . 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 Y ref du lot tiré à l’étape 210, et avec les valeurs courantes des paramètres q e . Ces sorties peuvent être notées : e{Y ref ).

L’étape 230 consiste à calculer la sortie du décodeurs D i à partir des sorties de l’encodeur calculées à l’étape 220 et avec les valeurs courantes des paramètres q Di . Cette sortie peut être notée : D i (e(Y ref )). A l’étape 240, une erreur est calculée entre la sortie calculée à l’étape 230, D i (e(Y ref )), et la contribution de référence, 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 :

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

différence entre deux matrices A et B. En variante, la distance est \ 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 D t sont simultanément mis à jour à l’aide d’une procédure de descente du gradient selon les équations :

où les gradients, V e , 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 200 j 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 q e et q Di 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ètresq e et q Di avec des valeurs initiales, par exemple tirées aléatoirement.

La phase d’apprentissage 300 consiste ensuite à itérer (boucle 302) le processus 300 j , où j est un indice entier. La j ème itération du processus 300 j constitue ce que l’on appelle dans le domaine technique une « époque » (ou « epoch » en anglais).

Le processus 300 j débute par une étape 305 de création d’une pluralité de M bases de données B i , 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, ( Y ref , S l ), associe à une amplitude d’un spectrogramme de mélange de référence, Y ref , une estimation de l’amplitude du spectrogramme de la i ème contribution de référence, , à ce spectrogramme de

mélange de référence Y ref . En fonction de l’indice i de l’estimation, le lot

sélectionné est enregistré dans la i ème base de données, b i .

Les bases de données B i sont également indépendantes les unes des autres et asynchrones.

Puis, à l’étape 306, les valeurs courantes des paramètres q e et q Di sont lues. La taille K de la plus petite des bases de données B i 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 q e 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 (Y ref , 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 Y ref et avec les valeurs courantes des paramètres q e .

L’étape 330 consiste alors à calculer la sortie du i ème décodeurs D i à partir des sorties de l’encodeur calculées à l’étape 320 et avec les valeurs courantes des paramètres q Di du ième décodeur D i .

A l’étape 340, une erreur L t est calculée entre la sortie calculée à l’étape 330, D i (e(Y ref )), et la contribution de référence, Cette erreur est par exemple

calculée comme dans le premier mode de réalisation.

Ensuite, à l’étape 350, le gradient sur chacun des paramètresq e de l’encodeur £ est accumulé dans la variable d’accumulation du gradient Gq e correspondante selon la relation : A l’étape 360, seules les valeurs des paramètres du i ème décodeur D t 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) :

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’encodeurq e sont mis à jour avec la valeur courante de la variable d’accumulation du gradient Gq e correspondante, selon la relation :

q e

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 Gq e 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 300 j 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 300 j (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 q e et q Di 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 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 q e de l’encodeur £ est accumulé dans la variable d’accumulation du gradient Gq e correspondante selon la relation :

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) :

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 q e sont mis à jour avec la valeur courante de la variable d’accumulation du gradient Gq e correspondante, selon la relation : q e

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 Gq e .

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.