Descente de gradient avec contrainte élastique pour la recherche de rythme dans une musique.
6 pages
Français

Descente de gradient avec contrainte élastique pour la recherche de rythme dans une musique.

-

Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
6 pages
Français
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

Descente de gradient avec contrainte élastique pour la recherche de rythme dans une musique. Mansoor Siddiqui Nicolas Pinchaud Mars 2009 Nous proposons une approche probabiliste pour la reconnaissance de rythme dans la musique. Pour cela nous supposons qu’il existe une variable aléatoire à valeur dans l’ensemble des rythmes possibles, qui pour une musique donnée, sa probabilité de réaliser le bon rythme, vaut 1. Nous voulons modéliser une variable aléatoire qui estime cette dernière. Pour généraliser le cadre probabiliste de notre approche, nous introduisons un réseau Bayésien trivial, dont tous les nœuds sont déterministes, sauf un qui correspond au modèle que nous allons présenter en détail, et qui peut s’interpréter intuitivement comme la simulation de la chute d’une chaine de masses représentant des beats, reliés entre elles par des ressorts, dans un champ de gravité engendré par les onsets de la musique. Les masses de la chaine vont « tomber » sur les onsets, tout en subissant la contrainte élastique engendré par les ressorts, ce qui oblige les beats a garder une certaine périodicité. Le champ de gravité est modélisé par des gaussiennes centrées sur les onsets. Dans la partie I, nous présentons le réseau Bayésien, et les préceptes qui vont conduire à la construction de notre modèle. La partie II présente la construction du modèle pas à pas en suivant ces préceptes. La partie III présente l’implémentation algorithmique et les résultats.

Informations

Publié par
Publié le 12 juillet 2013
Nombre de lectures 31
Langue Français

Extrait

Descente de gradient avec contrainte élastique pour la recherche de rythme dans une musique.  Mansoor Siddiqui Nicolas Pinchaud Mars 2009   Nous proposons une approche probabiliste pour la reconnaissance de rythme dans la musique. Pour cela nous supposons qu’il existe une variable aléatoire à valeur dans l’ensemble des rythmes possibles, qui pour une musique donnée, sa probabilité de réaliser le bon rythme, vaut 1. Nous voulons modéliser une variable aléatoire qui estime cette dernière.  Pour généraliser le cadre probabiliste de notre approche, nous introduisons un réseau Bayésien trivial, dont tous les nœuds sont déterministes, sauf un qui correspond au modèle que nous allons présenter en détail, et qui peut s’interpréter intuitivement comme la simulation de la chute d’une chaine de masses représentant des beats, reliés entre elles par des ressorts, dans un champ de gravité engendré par les onsets de la musique. Les masses de la chaine vont « tomber » sur les onsets, tout en subissant la contrainte élastique engendré par les ressorts, ce qui oblige les beats a garder une certaine périodicité. Le champ de gravité est modélisé par des gaussiennes centrées sur les onsets.  Dans la partie I, nous présentons le réseau Bayésien, et les préceptes qui vont conduire à la construction de notre modèle. La partie II présente la construction du modèle pas à pas en suivant ces préceptes. La partie III présente l’implémentation algorithmique et les résultats.   Partie I Réseau bayésien    A gauche, le réseau bayésien que nous proposons, en entrée la musique, elle détermine la fonction de détection qui elle même détermine les onsets et leur amplitude.m  euqMusi Les variables aléatoires « f » et « o », sont déterministes, leur valeur dépend de la réalisation de « m », qui peut être vu comme le choix d’uneF tion musique, dont on veut reconnaître le beat.onc de  On modélise la variable aléatoire M, à l’aide d’un modèle prenant endétection entrée la fonction de détection et les onsets. Ce modèle doit générer des rythmes, avec une probabilité plus élevé pour le bon rythme, ou les rythmes s’en approchant. Pour cela, nous souhaitons que les rythmeso ts seOn générés respectent au moins les propriétés observables du bon rythme, et nous espérons que les propriétés non observables, seront satisfaites grâce à la capacité de généralisation du modèle. Les rythmes sont générés enM ytRe hm cherchant des rythmes les plus vraisemblables possible, en procédant par descente de gradient. Les propriétés observables sont déterminées expérimentalement, par l’observation, ou étude statistique. Nous observons quatre propriétés :  0- les beats se positionnent en général sur des onsets. 1- Ils sont généralement positionnés sur des onsets d’amplitude élevé. 2- Tout en respectant, plus ou moins, une certaine périodicité. 3- L’énergie de la fonction de détection contenue entre chaque beat tend à être constant.  Nous allons construire un modèle probabiliste qui respecte ces quatre propriétés.  Partie II Modèle gaussien  Nous voulons produire un modèle génératif, simulant une variable aléatoire produisant des rythmes, respectant les quatre propriétés précitées, en espérant que cela induise des rythmes générés, proches du bon rythme.  Nous allons le construire pas à pas, en intégrant chaque propriété au fur et à mesure.  
  i) Respect de la propriété 0 :  Nous construisons un modèle générant des rythmes respectant la propriété 0, nous proposons un mélange de gaussiennes. La figure à droite montre un exemple obtenu sur un domaine d’une seule dimension.  Soit un mélange deN gaussiennes isotropiques 8Κ paramètres, de,dont la densité est donnée par :
(x%Οim% g(x;Κ)1i2ϑiΜie2Μi   On notex(x,y) point du plan, les gaussiennes sont centrées en des points un( ,0) la position d’un, où est onset, il y aNonsets.   Pour une séquence de vecteurs :S1x0,x1,x2,...,xn#1! associe la séquence de réels, onS1x0,x1,x2,...,xn#1Υ S définit un rythme, chaquexicorrespond à la position d’un beat. On appelle l’ensemble des rythmes.  
Nous définissons la probabilité d’une variable aléatoire G qui réalise des séquencesSà l’aide du mélange de gaussiennes, 8Κ:      P(GΚ1 (x0,x1,x2,...,xn#1!)1n1#2iP(8Κ1xi) Nous remarquons que comme les gaussiennes de8Κonsets, la probabilité de générer des beat sur dessont centrées sur les onsets est maximum. Pour un ensemble de paramètresΚ0, tels que lesvariances sont constantesΜi1k2 et les0 , masses aussimi1.1 Le soit mesure modèle gaussien, définit une « : de respect » de la propriété 0rmaxle rythme de probabilité maximum, qui correspond à un rythme dont les beats sont sur des onsets, la quantité 1%P(GÎrmax)%P(GÎr)mesure à quel point un rythme respecte la propriété 0, par exemple pourrmax, cette P(GÎrmax) quantité est maximale et vaut 1beats proches des onsets, plus la mesure est élevé, plus ont considère des  possède. Plus que la propriété est respecté. La valeurkdes variancesnous permet de paramétrer cette mesure, en effet l’entropie de G :P(GÎS) log(P(GÎS))dSmesure de l’ensemble des rythmes possibles. Elle dépend des variances,donne une  donc de k, quandk0 , les variancesΜi sontle rythme qui associe un onset pour chaque beat, nulles, et  a une probabilité certaine, les autres ont une probabilité nulle, dans ce cas l’entropie est nulle. Elle estmaximale quandk|. L’entropie détermine la capacité du modèle1etkest un paramètre qui le contrôle. On voit que la capacité permet , définir le sens de «général» pour «les beatsse positionnent en général sur des onsets».    
                                                 1peut être vu comme un problème deCette affirmation se base sur des arguments essentiellement intuitifs : notre problème classification, où chaque instant de la musique peut être classé « beat » ou « non beat », l’entropie nous indique la mesure de l’ensemble des rythmes possibles, donc le nombre de combinaison possible des étiquetages des instants de la musique, plus il est important, plus la capacité du modèle est susceptible d’être élevé.
La densité de G est donné par :  m(x0,x1,x2,...,xn#1!)1g(xi)  i  ii) Respect de la propriété 1 :  Dans un premier temps, remarquons que la propriété 1 implique la propriété 0. Si les beats sont placés majoritairement sur des onsets d’amplitude élevé (propriété 1), alors ils sont majoritairement placés sur des onsets (propriété 0) . La propriété 0, n’est donc pas nécessaire si l’on respecte la propriété 1. Nous allons néanmoins partir du modèle définit pour la propriété 0, pour l’affiner en vu de la satisfaction de la propriété 1.  Le mélange de gaussiennesGΚ0importance équivalente à chaque onset, car les masses et les variances sont, donne une identiques pour chaque gaussienne, donc la probabilité d’attribuer un beat à un onset en particulier, est identique pour chaque onset. On discrimine les gaussiennes en rendant plus probable l’attribution d’un beat sur un onset dont l’amplitude est plus élevé, l’amplitude d’un onset est determiné par l’amplitude locale de la fonction de détection au point d’absice correspondant à l’onset, on noteai, l’amplitude de l’onseti. On définit un nouvel ensemble de paramètresΚ1, pour lequel on a ai mi1. aj j La variance joue un rôle important, puisque celle-ci détermine la zone d’influence d’une gaussienne sur son voisinage, la convergence de l’algorithme de descente de gradient sera plus susceptible de converger vers une gaussienne dont l’influence est plus étendue. PourΚ1 du, les variances sont toutes identiques. Ci dessous, le mélange de gaussiennes « vu dessus », ce qui permet d’apercevoir leur zone d’influence.  
 Figure a Champ gaussien  Cette zone d’influence est lié à la variance des gaussienne et à leur masse. Ci-dessous, la figure représente le logarithme de la densité, on distingue nettement les zones d’influences, notamment les « crêtes » entre les gaussiennes, correspondant aux
        
Figure b Logarithme du champ gaussien.
 
La figure à gauche, nous montre un histogramme des amplitudes des onsets, sur une musique (I Saw Her Standing There), on remarque qu’il existe une fraction relativement importante de onsets d’amplitude élevé qui sont au dessus de deux fois la moyenne. On peut choisir de modifier les proportions relatives des variances, en les ur :iζmkimst la Μ multipliant par un facte2mmme moyenne des amplitudes, etmi est l’amplitude de l’onseti. Ainsi, les variances des onsets dont l’amplitude est supérieurs à deux foismm, se verra augmenté, les autres seront inchangé si l’amplitude est égale, ou réduite si elle est inférieure. On peut choisir d’amplifier ce facteur par une puissance n n ieme :Μiζk2mmim, cela définit un autre ensemble de paramètres, que l’on nommeΚ2. La figure ci-dessous représente le logarithme des densités après une mise à jour des variances, pour n=5. On voit que les zones d’influence des gaussiennes correspondants à des onsets d’amplitude élevé ont largement été augmentées, inversement pour les autres gaussiennes, correspondant à de faibles amplitudes, dont la zone d’influence a été drastiquement réduite.  
 iii) Respect de la propriété 2 :  Les séquences générés parGΚ2particulière d’être périodique, il faut pour cela contraindre le modèle à, n’ont pas de raison se restreindre a un sous ensemble de séquence possédant la propriété 2.  Pour cela nous ajoutons une contrainte « élastique », en définissant une nouvelle variable aléatoireRi, dont la densité est :
f(x)1 %a(3x#1%l%x)3#(l#xi%1%x)3 pourxi%1σxσxi#1, etfRi(x)10sinon. Cela peut être vu comme le Rii potentiel de deux ressorts, respectivement liés aux pointsxi%1etx, etxetxi#1 ,de constante de raideur dont la longueur au repos estl, est une constante de normalisation, pour que la densité intègre à 1. La densité est maximale sixest situé au milieu dexi%1etxi#1, c'est-à-dire six1xi%1#2xi#1. Dans la suite, nous contraignons les séquencesx0,x1,x2,...,xn#1!par"i,j,iσjÛxiσxjet"i,j,yi1yj  Appelons ces séquences particulières : des « chaines ». Chaque vecteur est lié à ses voisins par une contrainte « élastique ». La figure à droite schématise une chaine, les ronds sont les vecteurs, reliés par des ressorts.  
Définissons une variable aléatoire qui réalise des chaines : P(R1 (x0,x1,x2,xn#1!)11nP(Ri1xi) ,... ni11 La probabilité de générer des séquences périodiques est déterminé par le paramètre , les séquences seront périodique à une probabilité 1, si|. est un autre paramètre de contrôle de capacité.  La densité de R est la suivante :  Ν, ((x0x1,x2,...,xn#1!)11nni1fRi(xi) 1  Maintenant produisons un modèle M, intégrant ensemble, les propriétés 1 et 2: P(M1 (x0,x1,x2,...,xn#1!)112P(R1 (x0,x1,x2,...,xn#1!)#P(GΚ21 (x0,x1,x2,...,xn#1!)  On a plus de chance de réaliser une séquence si celle-ci est périodique et se positionne sur des onsets, ainsi les propriétés 1 et 2 sont satisfaites.  La densité de M se déduit de celle de R et G: Y((x0,x1,x2,...,xn#1!=)[21 Ν((x0,x1,x2,...,xn#1!)# m((x0,x1,x2,...,xn#1!)] = 12[n1in11fRi(xi)#n#21ig(xi)]  Notre objectif est de trouver une séquence, dont la probabilité d’être réaliser par M est la plus élevé possible. On trouve une solution, en maximisant la densité (ou en minimisant sont opposé). Il n’y a pas de solution analytique à ce problème, nous cherchons alors une solution approché, à l’aide d’un algorithme de descente de gradient. On a : ¶Y(x0,x1,x2,...,xn#1!)12 1f' (x)#)(212g(xi  ),2(21)g(xi)Rni xin n# ¶xin# ¶yi141 anl(xi#1l xi)2(l xi%1xi)2n#21jΜjmj2xiϑ2Μje%(xi2%Μmjj,n#12jΜjmj2yiϑ2Μje%(xi2%Μmjj% % # # % % %  
Nous plaçons une chaine, à une distancey0 des gaussiennes, avec une période initiall, comme l’indique la figure à droite, où la chaine est en mauve, et les gaussiennes représenté par les onsets, en bleu, leur hauteur correspond à leur amplitude. Nous réduisons le gradient itérativement pour chaquexi, jusqu'à convergence, nous obtenons ainsi une solution qui est un rythme, qui répond du mieux possible aux propriétés 1 et 2.La constante de rigidité , comme le paramètrekde contrôler la capacité des périodes possibles. Les exemples de la figure ci-, permet dessous, sont des résultats obtenus pour1000(en haut) et1(en bas).  Nous allons affiné encore le modèle, en introduisant la propriété 3.    iii) Respect de la propriété 3 :  
 Pour une fonction périodique de période p, l’énergie de la fonction contenue entre deux points, reste la même, quelque soit la position de ces points, pourvu que la distance qui les sépare soit p. Supposons que le rythme est sensible a une période de la musique, les beat seront donc placé a une distance p, tel que l’énergie contenu entre deux beats consécutif reste constant. La figure à droite, nous montre les variances de l’énergie, calculées sur la fonction de détection, pour une période en absice (en seconde), sur un exemple de musiqueChains » des Beattles). On voit que la variance est faible pour des valeurs de 0.45 et 0.9 environ, ce dernier étant le double du premier. On peut supposer que ces minimas se répètent ainsi pour des périodes qui vont au-delà d’une seconde. On remarque que 0.45 secondes, correspond à la période moyenne du bon rythme, pour la musique analysée. Nous avons intégré la propriété du respect de la constance de l’énergie, en procédant à une descente de gradient sur plusieurs chaines, en augmentant progressivementl(la longueur des ressorts au repos),et nous avons calculé un score pour chacun des résultats obtenu au terme de la descente de gradient, nous avons favorisé les chaines dont le la variance de l’énergie contenue entre chaque beat était faible.  Partie III Algorithme et résultats  i) Algorithme résumé  L’algorithme prend en entrée la fonction de détection, il en extrait les onsets. On produit le mélange de gaussienne, avec autant de gaussienne que de Onsets, la masse de chacune correspond à l’amplitude des onsets, la variance sont paramétrées parΚ2, les moyennes sont positionnées sur les onsets en x, et zéro en y. simulons ensuite la chute d’une chaine Nous (descente de gradient) pour des longueurslde ressorts, incrémentées progressivement,sur une portion du champ gaussien, correspondant aux premières secondes de la musique. Cela nous permet de déterminer la périodeldu bon rythme. Sur le reste du champ, nous simulons plusieurs fois la chute d’une chaine avec la longueurl. Nous faisons varier à chaque fois aléatoirement la position des beats durant la descente de gradient, selon une loi normal, centré sur le beat et avec une variance T décroissante linéairement jusqu’à 0, cela permet de converger de façon stochastique vers de meilleures solutions, en évitant les minimums locaux. ,La raideur des ressorts est initialisé par est et réduite à zéros lorsque la descente de gradient se termine, pour « laisser tomber » les beats sur les onsets.  ii) Résulats  Rappelle des paramètres : k: Contrôle de capacité des « gaussiennes ». : Contrôle de capacité des « ressorts ». n n: Mii imi se à jour des variancesΜζΜ2mm : Taille en secondes de la première fenêtre analysé en vue de déterminer la période du beat. Les paramètres ont été déterminés à l’aide d’une base de validation :k ,0 . 002n2 , 1000 . Remarquons quenest négatif, cela signifie qu’il est préférable de réduire la variance des onsets d’amplitude élevé, et d’augmenter celle des plus faibles. Nous testons sur la base de test la performance pour différentes valeurs de : 0.43 pour15 0.44 pour30 0.45 pour60 0.35 pour90  
  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents