Brevet FR3022048A1 — publié le 20151211

PROCEDE DE SUIVI D'UNE PARTITION MUSICALE ET PROCEDE DE MODELISATION ASSOCIE Domaine de l'invention La présente invention concerne un procédé de suivi d'une partition musicale ainsi que le procédé de modélisation associé. L'invention se rapporte au domaine de la lecture de partitions musicales numériques. L'invention trouve une application particulièrement avantageuse pour l'apprentissage, la pratique d'un instrument de musique, ou l'écoute dirigée d'une interprétation. Etat de la technique Il existe des logiciels de suivi d'une partition musicale numérique pour laquelle la zone active (note, mesure, portée,...) est déduite des tempi de ladite partition musicale, ou d'un tempo a priori fourni manuellement par l'interprète. Ces logiciels comportent classiquement un élément de marquage de ladite partition musicale, par exemple un surlignage ou un indicateur ponctuel. Après une temporisation indiquant le départ de la lecture, l'élément de marquage est déplacé à une vitesse correspondant au tempo de ladite partition musicale. Le musicien peut donc jouer la partition musicale au rythme du tempo de la partition en visualisant la zone active (note, mesure, portée,...) sur laquelle il devrait théoriquement se situer compte tenu du tempo de la partition. Ces logiciels, dont la temporalité de lecture est définie a priori, ne prennent pas en compte le tempo réel du musicien lorsqu'il joue. Ce dernier doit « suivre le curseur de la partition » mais ne peut pas définir avec son propre jeu la position du curseur sur la partition. Ainsi, le musicien ne peut pas réduire la vitesse de défilement d'une partie de la partition qu'il a du mal à interpréter. De même, le musicien ne peut pas reprendre une partie de la partition qu'il veut perfectionner tout en étant suivi par les logiciels existants. Exposé de l'invention La présente invention vise à remédier aux inconvénients de l'art antérieur en proposant un procédé de suivi d'une partition musicale à l'écoute des performances fournies par un interprète et adapté à faire varier la vitesse ou la position de défilement en fonction de l'interprétation de l'interprète. A cet effet, selon un premier aspect, l'invention concerne un procédé de suivi d'une partition musicale comportant les étapes suivantes : affichage d'un élément de marquage sur ladite partition musicale, et déplacement dudit élément de marquage, le procédé comportant également les étapes suivantes effectuées en temps réel : enregistrement d'au moins un son émis par un interprète sous la forme d'une trame de données d'une durée, estimation d'au moins un vecteur chromatique à partir d'un contenu de ladite trame de données, comparaison dudit vecteur chromatique avec des vecteurs chromatiques théoriques de ladite partition musicale, comparaison d'une transition entre ledit vecteur chromatique et un précédent vecteur chromatique avec des transitions théoriques de ladite partition musicale, et estimation d'une position de travail de l'interprète en fonction d'une position de travail précédente, de la comparaison dudit vecteur chromatique et de la comparaison de ladite transition, les étapes d'affichage et de déplacement dudit élément de marquage étant réalisées en fonction de ladite position de travail de l'interprète, et l'étape d'enregistrement étant réalisée sur une durée adaptée en fonction du rapport entre une durée de ladite transition et une durée de référence. L'invention permet ainsi de reconnaître les notes ou accords fournies par l'interprète et d'associer cette reconnaissance avec les accords de ladite partition. Cette association permet au procédé de suivi de s'adapter en temps réel à l'interprétation. Par exemple, les durées relatives aux notes ou accords sont prévues en fonction du tempo d'origine de ladite partition musicale mais l'interprète ne s'y 3 0 plie pas forcément. Ce dernier peut avoir envie d'accélérer ou de ralentir, certaines parties. L'invention permet de renforcer le suivi du tempo propre à l'interprète. La modélisation du tempo permet aussi d'obtenir une estimation du tempo courant de l'interprète, cela peut s'avérer très utile pour des applications de synchronisation avancées. Selon un autre exemple, il existe une hypothèse forte selon laquelle l'interprète joue toutes les notes ou accords, dans l'ordre, du premier au dernier. En pratique l'interprète a rarement cette discipline, au contraire, il peut vouloir s'entrainer et effectuer les allers retours au sein de la pièce qu'il travaille, s'arrêter puis reprendre à un autre endroit. Afin de répondre à cette attente, le procédé de l'invention peut effectuer des « sauts » au sein de la partition, en brisant la continuité de la partition. Ainsi les discontinuités de jeu sont autorisées au sein du modèle et lorsque qu'une telle discontinuité se présente, l'algorithme ne met qu'un temps restreint pour converger vers la nouvelle position. Le procédé mis en oeuvre s'applique à une partition au sens global comprenant une formalisation d'accords ayant une temporalité, pas uniquement graphique. Par exemple, le procédé pourrait indiquer une position dans une partition matérialisée sous forme de fichier MIDI (pour « Musical Instrument Digital Interface » dans la littérature anglosaxonne). L'invention s'applique également à une écoute dirigée d'une interprétation. Par exemple, un auditoire peut écouter une piste audio correspondant à une interprétation d'une partition via un système audio disposant de haut-parleurs et visualiser la zone active en cours de jeu sur la partition associé à la piste audio. Selon un mode de réalisation, le procédé comporte une étape de normalisation dudit vecteur chromatique avec lesdits vecteurs chromatiques théoriques de ladite partition musicale. Cette étape de normalisation permet d'adapter les vecteurs chromatiques théoriques avec le vecteur chromatique estimé et ainsi améliore les performances de reconnaissance et d'association des accords joués par l'interprète. Selon un mode de réalisation, l'étape de comparaison dudit vecteur chromatique avec des vecteurs chromatiques théoriques de ladite partition 3 0 musicale comporte les sous-étapes suivantes : estimation de la distance euclidienne entre ledit vecteur chromatique et chaque vecteur chromatique théorique, normalisation de la somme des distances euclidiennes obtenues, et estimation d'une probabilité d'appartenance dudit vecteur chromatique à chaque vecteur chromatique théorique. Ce mode de réalisation offre un bon compromis entre les performances de comparaison et les ressources de calculs nécessaires aptes à permettre une traitement en temps réel. Selon un mode de réalisation, l'étape de comparaison d'une transition entre ledit vecteur chromatique et un précédent vecteur chromatique est effectuée au moyen d'une loi de Poisson. Ce mode de réalisation offre également un bon compromis entre les performances de comparaison et les ressources de calculs nécessaires aptes à permettre un traitement en temps réel. Selon un mode de réalisation, au moins une estimation est effectuée sur une échelle logarithmique. La présente invention implique de nombreuses multiplications, mettant souvent en jeu des valeurs proches de O. Il est ainsi possible que les calculs deviennent instables à cause d'un dépassement de la précision relative aux nombres flottants sur l'architecture considérée. Afin de remédier à cela, ce mode de réalisation permet d'effectuer tous les calculs dans le domaine des « log-probabilités», ainsi toutes les multiplications deviennent des additions et la précision des calculs reste acceptable. Selon un mode de réalisation, l'estimation de la durée de l'étape d'enregistrement est effectuée au moyen d'un algorithme de décodage de Viterbi. Ce mode de réalisation offre également un bon compromis entre les performances et les ressources de calculs nécessaires aptes à permettre un traitement en temps réel. Selon un mode de réalisation, au moins une estimation comporte un seuil en dessous duquel l'estimation est jugée non pertinente et dont le résultat ne sera pas exploité. De par sa nature probabiliste, le procédé de suivi de partition selon l'invention peut se méprendre et donner une mauvaise indication à l'interprète. Cela peut arriver lorsqu'un interprète glisse quelques erreurs dans sa performance ou encore lors d'une interprétation trop libre de la partition. Afin de gérer au mieux les cas où l'information proposée par le procédé de l'invention n'est pas fiable, ce mode de réalisation permet de mettre en place un critère d'évaluation jugeant la pertinence de l'estimation. Selon un deuxième aspect, l'invention concerne un procédé de modélisation d'une partition musicale comportant les étapes suivantes : découpage de la partition musicale en au moins une suite d'accords théoriques disposant d'un contenu et d'une durée, représentation du contenu de chaque accord théorique sous la forme d'un vecteur chromatique théorique, et modélisation des transitions théoriques entre les différents accords théoriques. Ce deuxième aspect de l'invention permet d'obtenir une représentation de la partition numérique. Le vecteur chromatique est une représentation plus « structurée » de la partition numérique qui rend les comparaisons entre accords plus simples. Selon un mode de réalisation, l'étape de modélisation des transitions théoriques entre les différents accords théoriques est effectuée au moyen d'un modèle de Markov caché. Ce mode de réalisation offre également un bon compromis entre les performances de comparaison et les ressources de calculs nécessaires aptes à permettre une traitement en temps réel. Selon un mode de réalisation, ledit vecteur chromatique théorique est constitué d'au moins une gamme de 12 scalaires de valeur 0 ou 1, chaque scalaire étant associé à l'un des demi-tons de la gamme chromatique : do, do#, ré, ré#, mi, fa, fa#, sol, sol#, la, la#, si. En variante, le vecteur chromatique comprend plus de nombres scalaires, par exemple afin d'intégrer les quart de tons de la musique arabe. Brève description des dessins On comprendra mieux l'invention à l'aide de la description, faite ci-après à titre purement explicatif, des modes de réalisation de l'invention, en référence aux Figures dans lesquelles : - la Figure 1 illustre les étapes d'un procédé de modélisation d'une 3 0 partition musicale selon un mode de réalisation de l'invention ; - la Figure 2 illustre les étapes d'un procédé de suivi d'une partition musicale selon un mode de réalisation de l'invention ; et - la Figure 3 illustre une interface de suivi d'une partition musicale selon un mode de réalisation de l'invention. Description détaillée des modes de réalisation de l'invention La Figure 1 illustre les étapes d'un procédé de modélisation d'une partition musicale 10 dans lequel la partition musicale 10 est découpée, dans une étape 30, en une suite d'accords théoriques S = {S0, S1,..., Si, SI-1}. Chaque accord théorique de S est associé à un contenu Ci, un ensemble possiblement nul de hauteurs, et à une durée Di possédant un début et une fin. Le début et la fin de l'accord sont respectivement les valeurs temporelles minimales et maximales avant que le contenu Ci de l'accord ne change. Le contenu Ci de chaque accord théorique Si est représenté, dans une étape 31, sous la forme d'un vecteur chromatique Vi De préférence, un vecteur chromatique Vi est constitué d'une gamme de douze scalaires dont la valeur est comprise entre 0 et 1, chaque scalaire étant associé à l'un des demi-tons de la gamme chromatique : do, do#, ré, ré#, mi, fa, fa#, sol, sol#, la, la#, si. De préférence, la norme de chaque vecteur chromatique Vi est égale à 1. Les différences d'octaves se dissolvent à l'intérieur de cette représentation en vecteur chromatique Vi, la hauteur absolue de l'accord n'est donc plus prise en compte. Le vecteur chromatique Vi permet d'obtenir une version compacte du contenu Ci harmonique d'un accord théorique Si. Le vecteur chromatique Vi est aussi une représentation plus « structurée » qui rend les comparaisons entre accords théoriques de S plus simples permettant également de faire un usage intensif de la distance euclidienne. Les transitions théoriques TO, Ti, Tl-1 entre les accords théoriques de S de la partition numérique 10 sont également modélisées de préférence au 3 0 moyen d'un modèle de Markov caché à durée explicite. Pour ce faire, chaque accord théorique Si est considéré comme un état markovien et chaque état Si est associé à une ligne temporelle discrète dont l'expression est la suivante : Li = [Li,0 Li,i ... -1] avec J, la taille d'un vecteur chromatique L et P, la période d'échantillonnage des lignes temporelles et Li,j , la probabilité que l'interpète soit sur l'état Si depuis jP millisecondes. Une fois que cette ligne temporelle a été constituée, les modalités selon lesquelles l'interprète passe d'un accord à un autre peuvent être modélisées. Une base de données 15 est ainsi renseignée avec, pour chaque accord théorique de S le vecteur chromatique Vi et la transition théorique TO, Ti, TI-1 entre le présent accord théorique et les accords de S. La Figure 2 illustre les étapes d'un procédé de suivi d'une partition musicale 10 et d'analyse de la performance de l'interprète en temps réel, c'est-à-dire dans un temps déterminé. Dans une première étape 23, un son 12 émis par l'inteprète est enregistré sous la forme d'une trame de données Tr d'une durée Dx, par exemple 200 ms. A partir du contenu Cx de cette trame de données Tr, l'étape 24 consiste à estimer un vecteur chromatique Vx. Par exemple, cette estimation peut être réalisée par un réseau de neurone apte à reconnaitre tous les accords possibles joués par un interprète. Une normalisation du vecteur chromatique Vx est ensuite effectuée, dans une étape 25, pour correspondre au format des vecteurs chromatiques V0,V1,..Vi,...VI-1 stockés sur la base de données 15. Une étape 26 consiste ensuite à comparer le vecteur chromatique Vx avec les vecteurs chromatiques VO,V1,...Vi,...VI-1 de la partition musicale 10. A cet effet, la distance euclidienne Ei est calculée entre le vecteur chromatique Vx et chaque vecteur chromatique Vi. Ces valeurs sont sauvegardées puis normalisées afin que la somme des distances euclidiennes Ei soit égale à 1. Les distances euclidiennes Ei représentent alors la « non-appartenance » de la trame actuelle Tr aux différents accords théoriques de S. Une dernière étape consiste à transformer ces probabilités de « non-appartenance » en probabilité « d'appartenance » c'est-à-dire en effectuant l'opération suivante : Ei: = 1 - Ei. Une autre étape 27 consiste à analyser les transitions Tx entre le vecteur chromatique Vx et le vecteur chromatique Vx-1 précédemment joué par l'interprète. Pour ce faire, le modèle de Markov caché à durée explicite est utilisé en fonction des transitions théoriques TO,..., Ti, TI-1 stockées sur la base de données 15. Le calcul des transitions est effectué en fonction de l'équation suivante : = maxi (Poisson(j, j), dans laquelle le terme À représente l'espérance associée à chaque élément j de la ligne temporelle discrète. Le terme Poisson fait référence à une loi de probabilité discrète qui décrit le comportement du nombre d'accord théorique de S se produisant dans la partition musicale 10. La probabilité d'émission de la ligne temporelle discrète est ensuite calculée pour toutes les valeurs de i et j suivant l'équation : LiJ: = Ces valeurs sont sauvegardées puis normalisées afin que la somme des lignes temporelles discrètes Li,j soit égale à 1. Les arguments maximaux pour i et j indiquent respectivement l'accord le plus probablement joué par l'interprète et l'avancement de l'interprète au sein de l'accord. Les calculs précédents impliquent de nombreuses multiplications, mettant souvent en jeu des valeurs proches de 0. Il est ainsi possible que les calculs deviennent instables à cause d'un dépassement de la précision relative aux nombres flottants sur l'architecture considérée. Afin de remédier à cela tous les calculs peuvent être effectués dans le domaine des « logprobabilités», ainsi toutes les multiplications deviennent des additions et la précision des calculs reste acceptable. Les formules énoncées précédemment s'en retrouvent modifiées. Le calcul des transitions s'effectue désormais selon l'équation suivante : = maxi (log(Poisson(j, Ài)) + Li_ et la prise en compte des probabilités d'émission s'effectue selon l'équation suivante : LiJ = Lij + log (Ei). La normalisation est remplacée par une mise à niveau des lignes temporelles discrètes selon l'équation : LiJ = Lij - MaXn,m(Ln,m)- Les log-probabilités sont ainsi compensées afin que leur valeur maximale soit égale à 0. Toutes ces informations permettent d'estimer, dans une étape 28, une position de travail Px de l'interprète en fonction d'une position de travail précédente Px-1, de la comparaison du vecteur chromatique Vx et de la comparaison de la transition Tx. Cette position de travail Px permet d'afficher, dans une étape 20, et de déplacer, dans une étape 21, un élément de marquage 11 sur la partition numérique 10. La Figure 3 représente une interface 16 de suivi d'une partition musicale 10 comportant un élément de marquage 11. L'élément de marquage 11 se présente sous la forme d'une ligne discrète représentant l'accord théorique S1, S2, Si, SI-1. De préférence, la mesure Mes_i dans laquelle se situe l'accord théorique S1, S2, Si, SI-1 est également affichée en surbrillance. L'interface 16 de suivi de la partition musicale 10 comporte également une contrôle de commande 17 accessible pour l'interprète afin d'effectuer des réglages sur le procédé de l'invention par exemple pour choisir la voix qui est interprétée par l'interprète et la ou les voix qui sont jouées par l'interface. Dans ce mode de réalisation, lorsque l'interprète arrive en bas de page, le changement de page est automatique, sans que l'interprète n'ait besoin d'utiliser son doigt. En variante, la partition musicale 10 pourrait défiler sur l'écran en fonction de la position de travail Px, par exemple en raison de la taille des écrans des tablettes numériques. En outre, les durées Di relatives aux accords théoriques S1, S2, Si, SI-1 sont estimées en fonction du tempo Tpo d'origine de la partition musicale 10 et l'interprète ne s'y plie pas forcement. Ce dernier peut avoir envie d'interpréter, d'accélérer ou de ralentir, certaines parties. L'invention met en oeuvre un suivi renforcé ne comportant aucune attente inappropriée concernant la vitesse d'interprétation de l'interprète. La modélisation du tempo V permet d'obtenir une estimation du tempo courant de l'interprète Tpo_inter. Cette estimation peut s'avérer très utile pour des applications de synchronisation avancées. Le tempo Di peut varier de manière importante au sein d'une partition musicale 10, pour cette raison le tempo précis de l'interprète Tpo_inter n'est pas considéré et le tempo V est estimé en fonction de l'équation suivante : Tpo inter V = Tpo Cette estimation du tempo V donne une vitesse de jeu relative de l'interprète par rapport à la partition musicale 10. Afin de donner une estimation de cette vitesse, il est possible d'utiliser un des algorithmes applicables aux chaines de Markov, le décodage de Viterbi. Il s'agit d'une technique de programmation dynamique permettant de tracer la succession d'états la plus probable ayant mené à un état cible. Dans le cas d'une chaine de Markov à durée explicite, la cible n'est pas exactement un état, mais un offset temporel jP au sein d'un état Si de probabilité Li,j. Concrètement, chaque cible dispose d'un vecteur Mi,j de taille K mémorisant son historique. Le vecteur Mi,j se met à jour durant l'étape de transition suivant l'équation : si j > M' - = ',I shit t(M sinon' avec j:;.,' = argmaxiLi et shift(Mij) l'opération assignant si k > 0 mi, j,k = j, si k = 0 ' pour tout k. Le vecteur Mij résume le temps passé sur les K derniers états permettant ainsi d'obtenir l'estimation du tempo pour une cible donnée selon l'équation : Ei(c--1 Di-k Le tempo final est obtenu en évaluant 17ii à partir de la cible la plus probable, indexée par (i,j) = arg maxi jki. Une fois l'estimation de tempo calculée, les durées Di associées aux accords théoriques Si sont modifiées. Cette altération des durées Di permet de traiter de manière plus adaptée la prochaine trame audio Tr jouée par l'interprète. De par sa nature probabiliste, le procédé de suivi de la partition musicale 10 peut se méprendre et donner une mauvaise indication à l'interprète. Cela peut arriver lorsque l'interprète glisse quelques erreurs dans sa performance ou encore lors d'une interprétation trop libre de la partition musicale 10. Afin de gérer au mieux les cas ou l'information proposée par le procédé n'est pas fiable (par exemple en avertissant l'interprète), il peut être intéressant de mettre en place un critère d'évaluation jugeant la pertinence des estimateurs par exemple en utilisant l'étape de « remise à niveaux » détaillée précédemment. Lors de cette procédure, le terme maxn,m(Ln,m) peut être interprété comme une pénalité globale, induite par la dernière trame Tr considérée. En moyennant maxn,m(Ln,m) sur les N dernières trames, il est possible d'obtenir une pénalité relative au NP dernières millisecondes de jeu. Dès lors, il est possible de fixer un seuil en dessus duquel l'estimation est jugée fiable. En ce qui concerne le suivi de la partition musicale 10, dans une première approximation, il peut être considéré que l'interprète ne peut arriver en l'état Si qu'à partir de l'état Si-1, l'accord théorique précédent de la partition musicale 10. Autrement dit, l'interprète joue tous les accords. En pratique l'interprète a rarement cette discipline, au contraire, il peut vouloir s'entrainer et effectuer les allers retours au sein de la pièce qu'il travaille, s'arrêter puis reprendre à un autre endroit. Afin de répondre à cette attente, le procédé de l'invention permet d'effectuer des « sauts » au sein de la partition musicale 10, en brisant la continuité induite par le choix des probabilités de transition. Dans l'espace des « log-probabilités », une valeur de 0 correspond à une probabilité de 1 et une valeur de -1 correspond à une probabilité de 0 (une stricte impossibilité). Le procédé associe à certaines zones de la partition musicale 10 des « log-probabilités » inférieures à 0 ou même égales à -1. De telles valeurs, établies sur la base de l'historique de la performance de l'interprète, entravent quasi- définitivement la possibilité que l'algorithme considère la zone en question comme le point de départ d'un nouveau segment de performance, même si les trames analysées par la suite le suggère. Afin de remédier à cela, il est possible de relever les probabilités Li,j devenues trop faibles. En pratique, cela se traduit par l'opération de seuillage réalisée selon l'équation suivante : fLij, si LiJ > Z Z, sinon avec Z le seuil désiré. Le seuil en question doit être choisi judicieusement, il ne doit pas être trop haut, cela aurait pour effet de rendre chaque zone de la partition équiprobable en toute circonstance, ni trop bas, afin de rester effectif. Ainsi les discontinuités de jeu sont autorisées au sein du modèle et lorsque qu'une telle discontinuité se présente, le procédé ne met que quelque secondes pour converger vers la nouvelle position Px. L'invention permet ainsi de guider efficacement un interprète selon son interprétation d'une partition numérique 10 en prenant en compte son tempo et ses changements de ligne de lecture. REVENDICATIONS1. Procédé de modélisation d'une partition musicale numérique (10) caractérisé en ce qu'il comporte les étapes suivantes : - découpage (30) de la partition musicale numérique (10) en au moins une suite d'accords théoriques (S1, S2, Si, SI-1) disposant d'un contenu (Ci) et d'une durée (Di), - représentation (31) du contenu (Ci) de chaque accord théorique X51, S2, Si, SI-1) sous la forme d'un vecteur chromatique théorique (V1, V2, Vi, VI-1), - modélisation (32) des transitions théoriques (T1, Ti, TI-1) entre les différents accords théoriques (51, S2, Si, SI-1), - stockage des accords théoriques (S1, S2, Si, SI-1), des vecteurs chromatiques théoriques (V1, V2, Vi, VI-1) et des transitions théoriques (T1 Ti, TI-1) sur une base de données, et - affichage d'au moins un élément de marquage (11) sur la partition musicale (10). 2. Procédé selon la revendication 1, caractérisé en ce que l'étape de modélisation (32) des transitions théoriques (T1, Ti, TI-1) entre les différents accords théoriques (S1, S2, Si, SI-1) est effectuée au moyen d'un modèle de Markov caché. 3. -Procédé selon la revendication 1 ou 2, caractérisé en ce que ledit vecteur chromatique théorique (V1, V2, Vi, VI-1) est constituée d'au moins une gamme de 12 scalaires de valeur 0 ou 1, chaque scalaire étant associé à l'un des demi-tons de la gamme chromatique : do, do#, ré, ré#, mi, fa, fa#, sol, sol#, ta, la#, si.