FR2903803A1 - Procede et dispositif pour la composition automatique ou semi-automatique d'une sequence multimedia. - Google Patents
Procede et dispositif pour la composition automatique ou semi-automatique d'une sequence multimedia. Download PDFInfo
- Publication number
- FR2903803A1 FR2903803A1 FR0700586A FR0700586A FR2903803A1 FR 2903803 A1 FR2903803 A1 FR 2903803A1 FR 0700586 A FR0700586 A FR 0700586A FR 0700586 A FR0700586 A FR 0700586A FR 2903803 A1 FR2903803 A1 FR 2903803A1
- Authority
- FR
- France
- Prior art keywords
- sub
- tracks
- track
- subcomponents
- subcomponent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/0008—Associated control or indicating means
- G10H1/0025—Automatic or semi-automatic music composition, e.g. producing random music, applying rules from music theory or modifying a musical piece
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2210/00—Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
- G10H2210/101—Music Composition or musical creation; Tools or processes therefor
- G10H2210/111—Automatic composing, i.e. using predefined musical rules
- G10H2210/115—Automatic composing, i.e. using predefined musical rules using a random process to generate a musical note, phrase, sequence or structure
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2210/00—Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
- G10H2210/101—Music Composition or musical creation; Tools or processes therefor
- G10H2210/125—Medley, i.e. linking parts of different musical pieces in one single piece, e.g. sound collage, DJ mix
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2240/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/121—Musical libraries, i.e. musical databases indexed by musical parameters, wavetables, indexing schemes using musical parameters, musical rule bases or knowledge bases, e.g. for automatic composing methods
- G10H2240/131—Library retrieval, i.e. searching a database or selecting a specific musical piece, segment, pattern, rule or parameter set
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2240/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/121—Musical libraries, i.e. musical databases indexed by musical parameters, wavetables, indexing schemes using musical parameters, musical rule bases or knowledge bases, e.g. for automatic composing methods
- G10H2240/145—Sound library, i.e. involving the specific use of a musical database as a sound bank or wavetable; indexing, interfacing, protocols or processing therefor
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2250/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/005—Algorithms for electrophonic musical instruments or musical processing, e.g. for automatic composition or resource allocation
- G10H2250/015—Markov chains, e.g. hidden Markov models [HMM], for musical processing, e.g. musical analysis or musical composition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
Le procédé selon l'invention comprend la création d'une structure de séquence multimédia de référence, la décomposition de cette structure en composants de base (pistes P1, P2, Pn) comportant chacun une suite de sous composants de base (briques B<1>l - B<n>4), l'association à chacun de ces sous composants de base, d'une pluralité de sous composants homologues (briques homologues B<1>l Hi, B<2>l Hj, B<n>1 Hl) à chacun desquels sont affectés des attributs et une phase de composition automatique d'une nouvelle séquence multimédia comportant le maintien des sous composants ou leur remplacement par des sous composants homologues choisis algorithmiquement selon un algorithme déterminant la probabilité des sous composants d'être choisis, compte tenu de ses attributs, puis en effectuant ensuite un choix aléatoire dans le respect desdites probabilités.
Description
10 La présente invention concerne un procédé et un dispositif pour la
composition automatique ou semi-automatique, en temps réel, d'une séquence multimédia (de préférence à prédominance audio) à partir d'une structure de séquence multimédia de référence déjà existante ou composée pour la circonstance. 15 D'une manière générale, on sait qu'il a déjà été proposé de nombreuses solutions pour produire des séquences multimédia à partir de matériaux multimédia préexistants. A titre d'exemple, le brevet européen EP 0 857 343 B1 décrit un générateur de 20 musique électronique comportant : un dispositif d'introduction, un ou plusieurs supports d'enregistrement liés à un ordinateur, un générateur de rythmes, un programme d'exécution de hauteur, et un générateur de sons. Lorsqu'il est manipulé par un usager désireux de créer et de jouer un morceau en solo, le dispositif d'introduction produit des signaux d'entrée de rythme et de hauteur. Les supports 25 d'enregistrement présentent différentes pistes d'accompagnement sur lesquelles l'utilisateur peut en superposition créer et jouer le solo, et différents blocs de rythme dont chacun définit pour au moins une note au moins un instant où la note doit être jouée. Le support d'enregistrement enregistre au moins une partie du solo créé par l'utilisateur pendant un laps de temps d'une longueur donnée, venant de s'écouler. 30 Le générateur de rythme reçoit les siignaux de rythme introduits par le dispositif d'introduction, sélectionne l'un des blocs de rythme dans le support d'enregistrement en fonction desdits signaux et donne 1"ordre de jouer la note à l'instant défini par le bloc de rythme sélectionné. Le programme d'exécution de hauteur reçoit les signaux de hauteur introduits par le dispositif d'introduction et sélectionne : la hauteur 1 2903803 2 adéquate en fonction desdits signaux, la piste d'accompagnement choisie par l'utilisateur, et le solo enregistré. Le programme d'exécution de hauteur produit alors la hauteur adéquate. Le générateur de sons ayant reçu les instructions du générateur de rythmes, les hauteurs du programme d'exécution de hauteurs, ainsi que 5 l'indication de la piste d'accompagnement choisie par l'utilisateur, produit un signal audio fonction du solo crée par l'utilisateur et de la piste d'accompagnement choisie. Par ailleurs, le brevet EP 1 326 228 décrit un procédé permettant de modifier interactivement une composition musicale afin d'obtenir une musique au goût d'un utilisateur particulier. Ce procédé fait notamment intervenir une structure de données de chant dans laquelle des règles musicales sont appliquées à des données musicales modifiables par l'utilisateur. En fait, les solutions précédemment décrites consistent pour l'essentiel en une dénaturation d'une séquence musicale de départ, selon un processus continu lié à un format de fichiers musicaux numériques figés. L'invention a quant à elle pour but un procédé permettant de composer des séquences multimédia dans un espace musical défini par l'auteur et dans lequel l'auditeur pourra naviguer en utilisant éventuellement des outils interactifs. A cet effet, ce procédé comprend les phases opératoires suivantes : - une phase préalable comportant : la création d'une structure de séquence multimédia de référence de durée éventuellement illimitée ou même le choix d'une structure de séquence multimédia existante en tant que séquence de référence, la décomposition de ladite structure en des composants de base assimilables à des pistes (par exemple audio, texte, vidéo) chaque composant de base ou piste étant décomposé en une suite de sous composants de base (ou briques) pouvant consister par exemple en des mouvements musicaux, en des harmonies, en des styles l'association, à chacun de ces sous composants, d'une pluralité de sous composants homologues (ou briques homologues) contenus dans des fichiers 2903803 -3 stockés dans des bases de données et à chacun desquels sont affectés des attributs, et une phase de composition automatique en temps réel éventuellement assistée 5 d'une nouvelle séquence multimédia comportant pour tout ou partie des sous composants de base de la structure de la séquence de référence, le maintien desdits sous composants ou leur remplacement par des sous composants homologues respectifs choisis algorithmiquement selon un algorithme déterminant, pour chaque sous composant de base ou sous composant homologue, 10 la probabilité de ce sous composant d'être choisi, compte tenu de ses attributs, puis en effectuant ensuite un choix aléatoire dans le respect desdites probabilités, ladite phase de composition pouvant s'effectuer pendant ou après l'étape de création de la structure de séquence multimédia de référence. 15 Ce procédé permet donc de générer une séquence multimédia en temps réel au fur et à mesure (et non une fois pour toute dès le début). Cette génération peut se poursuivre indéfiniment par rebouclage (pas de fin naturelle), la séquence se régénérant en permanence en associant des sous composants choisis algorithmiquement dans les bases de données, l'utilisateur pouvant intervenir au 20 niveau du choix des sous composants en influençant le fonctionnement de l'algorithme. Comme précédemment mentionné, l'algorithme s'appuie sur un calcul probabiliste. Il détermine pour chaque sous composant une probabilité d'être choisi, puis effectue 25 un choix aléatoire dans le respect de ces probabilités. Les probabilités peuvent être calculées en appliquant des règles indépendantes de la substance du sous composant (par exemple des règles non musicales) : les règles peuvent par exemple considérer que le choix d'un sous composant peut influencer les 30 autres choix concomitants ou à venir : une règle pourra donc par exemple consister à modifier la probabilité de choisir une variation en fonction des choix antérieurs. Il apparaît donc qu'une séquence par exemple musicale pourra faire intervenir, conformément au procédé selon l'invention : 2903803 -4 un nombre N de composants (ou pistes), pour chacun des composants de base (ou pistes) un ensemble de sous composants (par exemple des briques musicales), un ensemble de règles définissant comment le choix d'un sous composant (brique) 5 influe sur les choix ultérieurs, - des moyens de saisie interactifs permettant à l'utilisateur d'activer ou de désactiver les susdites règles. Les composants de base (pistes) pourront se trouver dans un état actif ou dans un état 10 inactif (pause). Cet état est déterminé par les choix de sous composants antérieurs ou concomitants. Eventuellement, le choix effectué conformément au procédé selon l'invention pourra porter sur le sous composant bénéficiant de la probabilité maximale (donc choix non 15 aléatoire). Les règles pourront être caractérisées par un degré d'importance ou de priorité. Dans ce cas, quand deux règles sont contradictoires on supprime momentanément celle de moindre importance de telle sorte qu'un choix de sous composant soit toujours 20 possible (au moins une brique à probabilité non nulle). L'algorithme de choix des sous composants (briques) pourra être généralisé pour permettre le choix d'autres paramètres de la musique : volume d'une piste, degré de répétition, coefficient d'écho, ... En outre, l'algorithme de choix des sous composants pourra être généralisé à des types de contenu autres que la musique (sélection de séquence vidéo, de textes...). Grâce aux dispositions précédemment décrites, l'invention permet de produire des 30 compositions musicales dont l'exécution pourra donner lieu à une grande variabilité, et une possibilité d'adaptation illimitée à partir d'un fichier unique composé selon le procédé de l'invention. 25 2903803 5 L'informatique intervient ici non plus seulement comme un moyen de reproduction, mais comme un moyen d'interaction avec une musique. Il ne s'agit pas de musique automatique, dans la mesure où la phase de création musicale est toujours centrale et absolument fondamentale à la qualité de la musique générée. Cependant, le travail de l'auteur est sensiblement modifié par la mise en oeuvre de l'invention : il s'agit pour lui de définir un espace musical dans lequel l'auditeur sera amené à naviguer, en utilisant éventuellement des outils d'interaction. 10 D'une façon plus précise, le procédé selon l'invention pourra comporter les étapes suivantes : - la création à partir d'une séquence musicale prédéfinie de pistes constituées par des successions de briques musicales par application d'un filtre ou d'un traitement sur ladite séquence musicale, 15 - la création d'une base de briques musicales comprenant les briques ainsi créées ainsi que des briques préexistantes sélectionnées en fonction de leur cohérence avec les briques créées, la définition d'une nomenclature de descripteurs psycho-acoustiques, - la construction d'une table définissant un score pour chaque couple (brique ; 20 descripteur), la définition d'un sous-ensemble de descripteurs sur lesquels un utilisateur peut interagir par l'intermédiaire d'une interface de mixage, via un poids d'interaction spécifique, - la construction d'une liste de fonctions de mixage, chaque fonction étant liée à 25 une piste, chaque fonction étant appliquée à une brique candidate avec les paramètres de contexte (brique qui vient d'être jouée, briques en cours de lecture sur les autres pistes, poids d'interaction défini par l'utilisateur) et ayant pour résultat un taux de pertinence de la brique candidate, la sélection de la brique candidate dont le résultat de la fonction de mixage est 30 maximal. Un mode d'exécution de l'invention sera décrit ci-après, à titre d'exemple non limitatif, avec référence aux dessins annexés dans lesquels : 5 2903803 6 La figure 1 est un schéma synoptique permettant d'illustrer le principe exploité par le procédé selon l'invention ; La figure 2 est une représentation schématique illustrant le principe d'un 5 processus d'encodage d'une musique préexistante, conformément au procédé selon l'invention ; La figure 3 est une représentation schématique illustrant le fonctionnement général du programme d'exécution ( player ) mis en oeuvre par le procédé 10 selon l'invention. Dans l'exemple illustré sur la figure 1, le procédé selon l'invention part d'une séquence multimédia de référence décomposée en n pistes P-, P2 ... Pä P. 15 Chaque piste comprend une succession de sous composants ou briques de référence. Ainsi : la piste P1 comprend une succession de briques B; , B 2 ... la piste P2 comprend une succession de briques B; , B 2 ... 20 - la piste Pn comprend une succession de briques B; , B 2 , B 3 , B a ... A chacune des briques de référence de chaque piste est associée une série de briques homologues. Ainsi, notamment : 25 - à la brique B; sont associées les briques homologues B; HI, B; H2 B; H;, à la brique B; sont associées les briques homologues B; HI, B; H2 B; à la brique B; sont associées les briques homologues B; HI, B H2 B Hk, - à la brique B 2 sont associées les briques homologues B 2 H-, B H2 B Z HI. 30 Bien entendu, l'invention ne se limite pas à un nombre déterminé de pistes, de briques de référence et de briques homologues. Par ailleurs, les données relatives aux 2903803 7 pistes, aux briques de référence et aux briques homologues sont stockées dans des fichiers ou des bases de données Bla, Blb, B2a, B2b, Bal, Bn2, Bn3, B114. Ces fichiers ou bases de données sont exploités par un système informatique SE 5 appelé ci-après système expert conçu de manière à assurer les fonctions d'une table de mixage virtuelle et qui comporte en conséquence : une base de règles (BR), - des moyens de sélection Si de briques (de référence ou homologues) dans les 10 différents fichiers Bla, B1b, B2a, B2b, Bn1, Bn2, Bn3, Bn4, des moyens de détection de l'état El,, E2, En des pistes de référence P1, P2, Pa, des boutons de commande B et/ou des curseurs C destinés à offrir à l'utilisateur une multiplicité de possibilités d'interaction, des moyens de calcul CA pour la composition en temps réel d'une nouvelle 15 séquence multimédia faisant intervenir de nouvelles pistes P'1, P'2, P'n virtuelles comportant chacune des briques sélectionnées. Cette nouvelle séquence multimédia peut être mémorisée temporairement dans une mémoire M1 ou être jouée en temps réel au moment de sa composition. 20 • des moyens de commandes CO de l'état des nouvelles pistes P'1, P'2, P'n, ^ un poste d'aiguillage A destiné à transmettre après traitement éventuel les briques sélectionnées à destination d'interfaces multimédia appropriées I1 à I2 telles que, par exemple, des enceintes acoustiques, des afficheurs, des sources lumineuses, 25 etc... Dans cet exemple, on a illustré la sélection par l'organe de sélection Si de la brique B H2 en fonction du choix précédent de la brique B H1 et son intégration à la piste P'n. La structure de séquence multimédia de référence, illustrée par les pistes P'1, P'2, P'n, qui présente une durée quelconque, éventuellement illimitée, est appelée ci-après morceau . Elle est obtenue à l'issue d'une étape de composition du morceau, une 30 2903803 8 étape de création de fichiers et une étape de lecture des fichiers et d'exécution des morceaux correspondants. L'étape de composition d'un morceau comprend la définition des éléments suivants : 5 la structure d'une table de mixage virtuelle du morceau avec identification de pistes, par exemple audio/texte/vidéo, et pour chacune de ces pistes, des attributs spécifiques (par exemple le volume pour une piste audio) et avec identification des commandes (curseurs C ou boutons B) d'interaction éventuellement 10 proposées aux utilisateurs, la structure interactive du morceau, avec identification des échantillons ("samples") d'une piste audio, des styles, des passages du morceau, et d'une façon générale, de la manière dont ces éléments interagissent et évoluent, et dont les 15 boutons d'interaction agissent sur cette structure, les composants multimédia de base ou briques qui peuvent par exemple consister en des extraits de musique, des extraits de vidéo, des animations 3D, des textes, des filtres audio et vidéo, étant entendu que chaque brique est une 20 séquence temporelle de durée limitée, codant des manifestations multimédia diverses. Cette structure interactive peut être définie soit : 25 - à partir d'un modèle de structure, par exemple un modèle gérant un style musical, un passage musical (par exemple : refrain/couplet), une piste voix, une piste morceaux originaux et plusieurs pistes d'accompagnement, - par un travail direct sur la structure du morceau. Les fichiers contiennent ou référencent les éléments de composition précédemment évoqués et, en particulier, les composants multimédia de base (briques). Ils sont destinés à être utilisés par un système informatique de type système expert pour effectuer la susdite phase de composition du morceau. 30 2903803 9 Le format d'encodage du contenu de chaque composant multimédia n'est pas figé : ainsi, pour l' audio on peut par exemple utiliser une extension de fichier audio vidéo Windows (marque déposée), wav (marque déposée) ou le standard mp3 (marque 5 déposée) ou tout format que le système expert pourra reconnaître. Le système expert SE consiste en un logiciel capable de lire les fichiers puis d'exécuter des morceaux correspondants. Il est capable d'interpréter les composants multimédia (briques) contenus ou référencés dans le fichier. Le système expert est capable de gérer les commandes d'interaction (boutons) éventuellement de façon automatique, sans faire appel à un utilisateur, mais en offrant généralement une interface d'interaction à l'utilisateur. Il permet en outre de passer d'un morceau à un autre. La fonction exécutée par le système expert se présente comme la manipulation d'une table de mixage virtuelle possédant les caractéristiques suivantes : un nombre de pistes potentiellement infini, 20 - des pistes activables et désactivables unitairement, des pistes de nature variée : audio, vidéo, texte, ambiance, contrôle abstrait, ..., un nombre de curseurs d' interaction potentiellement infini, chaque piste activée enchaîne des sous composants compatibles avec la nature de la piste : briques audio pour une piste audio par exemple, 25 lorsqu'un sous composant est choisi pour une piste, le système expert choisit également une durée minimale pendant laquelle ce sous composant sera maintenu. Cette table de mixage est configurable. Ainsi, par exemple, pour une piste audio, les informations prises en compte pourront comprendre le composant audio à jouer, le 30 volume, la durée minimum de lecture du composant. Pour un afficheur, les informations prises en compte pourront comprendre, par exemple, un élément de texte à afficher, la police de caractères utilisée. Structuralement, le système expert comprend deux parties distinctes : 10 15 2903803 - 10- un moteur abstrait travaillant sur des contraintes imposées par la base de règles et fournissant une sélection de sous composants de nature variée, un modèle de la table de mixage permettant de générer l'interface d'interaction à 5 partir des éléments sélectionnés. Les calculs effectués par le système expert se basent sur les considérations et les règles de calcul suivantes : 10 a) Notion d'espace, de système et d'état L'espace est composé de systèmes S ; chaque système est un vecteur d'états E . Ainsi, par exemple : - une piste est un système S dont les états E sont les briques musicales, - une série d'harmonies est un système dont les états sont les harmonies. 15 A tout moment, un système S est soit suspendu, soit dans un état E. Dans ce dernier cas, on dit que l'état E est actif. On le note E(S). Les systèmes interagissent via des relations non symétriques y et i . S'yS : signifie que l'état de S dépend de l'état de S'. Les cycles de la relation y ne sont pas autorisés : on ne peut avoir S1yS2y ... SnySi. S'tS : signifie que l'état de S dépend de l'état précédent de S'. On note 25 E'(S) l'état précédent d'un système S. La relation t peut être réflexive. Les relations y ou i et les systèmes peuvent être liés à des états par une relation a : E a S : si E est inactif, alors S est suspendu E a y : si E est inactif, alors y est suspendue. Une relation suspendue perd toute influence. 20 30 2903803 -11- Lorsque deux systèmes S et S' sont en relation y ou z, on définit une matrice de probabilité des états de S' vers les états de S. On écrit alors : a yp b, pour indiquer qu'un état a de S' contribue avec une probabilité p à l'état b de S. On notera également ps,ys(a,b) cette contribution, et même p(a,b) lorsqu'il n'y a pas 5 d'ambiguïté possible. Cette contribution est un réel positif (éventuellement nul). Un système suspendu peut continuer d'influer via une relation y ou T : la matrice de probabilité est étendue à l'état suspendu du système source. 10 On note qu'un système n'ayant qu'un seul état et sans relation a ne peut activer que celui-ci. On parle de système absolument contraint , car son état est toujours connu. On définit une contrainte comme étant la manière de forcer un système à se trouver 15 dans un certain état. On remarque qu'une relation t est alors équivalente à une relation y avec contrainte ; on remplace S tiS' par : -un système Spr v congruent à s (c'est-à-dire avec les mêmes états) 20 une relation Sprev yS', de même matrice que la relation i la contrainte E (SpLe,,)=E'(S). Par ailleurs, on remarque qu'une contrainte peut être vue de manière plus générale comme une relation y entre un système absolument contraint et le système à 25 contraindre. La matrice de cette relation est alors réduite à un vecteur dont tous les coefficients sauf un sont à zéro. Comme des contraintes peuvent être contradictoires, on doit les ordonner en leur affectant une importance. De ce fait, on attribue aux relations y et ti, ainsi qu'aux 30 contraintes, un niveau d'importance. Ce niveau d'importance peut éventuellement être infini pour les relations y. Il doit être fini pour les relations i et pour les contraintes ; cela se justifie par le fait que : 2903803 -12- on doit pouvoir maintenir l'espace dans un état donné, ce qui peut nécessiter de geler des relations i, les contraintes appliquées doivent être considérées comme des souhaits. 5 b) Notion de résolution (ou réduction) b~ : Résolution et espace librement calculable La réduction d'un système S consiste à déterminer la probabilité de chacun de ses états, puis à faire une sélection aléatoire en tenant compte de ces probabilités. Cette sélection détermine l'état du système S. 10 La probabilité, avant normalisation, d'un état b de S vaut : p(b)=17s' ysp(E(S' ),b) •ns'Tsp(E' (S' ),b) Cette probabilité se calcule sur les relations y ou t non suspendues. 15 La probabilité normalisée d'un état b de S vaut : p(b)=p(b)/EaEsp(a) Cette probabilité n'existe que si la somme située en diviseur n'est pas nulle, c'est-à-dire s'il existe au moins un état avec une probabilité non nulle avant normalisation. 20 La résolution de l'espace consiste à déterminer l'état de tous les systèmes de telle manière que les relations éventuelles soient satisfaites. Un espace est librement calculable s'il existe une résolution en ne tenant compte que des relations d'importance infinie. 25 On ne s'intéresse dans la suite qu'aux espaces librement calculables . b2 : Résolution sous contrainte 30 La résolution sous contrainte consiste à imposer l'état de certains systèmes. La contrainte consiste toujours à poser E(S)=b. 2903803 - 13 - Les contraintes sont associées à un critère d'importance, qui définit un ordre total (cette notion d'importance dépend de l'applicatif qui utilise le calcul de mixage). La résolution sous contrainte consiste à déterminer l'état de tous les systèmes, de 5 telle sorte que toutes les relations et toutes les contraintes soient respectées, y compris les relations d'importance finie. b3 : Résolution faible sous contrainte 10 La résolution faible consiste à identifier une solution en supprimant éventuellement quelques contraintes ou relations, en appliquant la règle suivante : lorsque la résolution sous contrainte échoue, on détermine l'ensemble des contraintes ou relations qui ont provoqué l'échec, on supprime la contrainte ou la relation de moindre importance, et on recommence la résolution. 15 Il est évident qu'un espace librement calculable peut toujours être résolu faiblement : dans le pire des cas, on peut le résoudre en supprimant toutes les contraintes et toutes les relations d'importance finie. 20 b4 : Systèmes et relations arithmétiques On définit des systèmes arithmétiques, qui sont des systèmes particuliers dont les états sont les nombres réels. On écrira Sa Ce sont donc des systèmes dont les états sont en nombre infini et en congruence avec l'espace des réels. 25 On définit des relations arithmétiques. Au lieu de définir des relations gamma et tau entre des systèmes SI, S2,..., Sä et un système S, on représente ces relations sous la forme d'une expression arithmétique entre les systèmes SI, S2,..., Sä et le système S. Cette expression s'appuie sur les états présents ou passés des systèmes S1, S2,..., Sä 30 et fournit l'état actif de S. Si un système est arithmétique, son état est un nombre réel (par convention : 0 si le système est suspendu). Par exemple : 2903803 - 14 - S: =if (E(S1)+E'(S2))=0 then a else b S: =1+if E(S1)=a1 then 0 else 1 (où a et b sont des états de S, al un état de S1, et E'(S2) est l'état précédent de S2). 5 Les primitives sont : - +, *, -,i, % , &, I , &&,11 !, ,., - if.. . then... else.. . - rand (retourne un réel entre 0 et 1) -sin, cos, tan,... 10 On dit alors que le système S est en résolution arithmétique. Dans le cas contraire, le système S est en résolution quantique. On montre qu'il y a inclusion de la résolution arithmétique dans la résolution 15 quantique, si bien que les considérations précédentes sur la résolution des espaces restent valides. Pour garder la complexité de la résolution dans des limites raisonnables, on fixera les limitations suivantes : 20 un système arithmétique est toujours en résolution arithmétique, car sinon les matrices des relations quantiques auraient des tailles infinies on ne peut appliquer une contrainte sur un système qui dépend d'une résolution arithmétique, car cela reviendrait à calculer l'inverse de toute fonction arithmétique : 25 o le système n'est pas en résolution arithmétique o le système ne dépend pas, directement ou indirectement, d'un système en résolution arithmétique. Cette limitation pourra être transgressée dans certains cas à la complexité réduite et 30 qui seraient fastidieux à implémenter en résolution quantique. Par exemple : S=if E(S')! =E'(S') then a else b. b5 : Exemples de calculs en résolution quantique 10 2903803 -15- Par convention, quand on ne précise pas les contributions de probabilité, elles sont considérées valoir 1. Opérateur Non 5 Définitions : SyS' S={ a,b} P(a,a')=p(b,b')=0 Alors, en considérant que a=a'=true, et b=b'=false : E(S')= !E(S) E(S)=ami E(S')=b' 15 E(S)=bue E(S')=a' Opérateur Nanti Définitions : S1yS' S2yS' S'yS Si={ai,bi } S2={ a2,b2 } S'={ ala2, a1b2, bia2, b1b2,} S={ a,b} p(ai,b1a2)= p(ai,b1b2)=0 p(bi,aia2)= p(b1,a1b2)=0 p(a2,alb2)= p(a2,bib2) =0 p(b2,aia2)= p(b2,bia2)=0 p(ala2, a)=0 p(alb2, b)=0 p(bla2, b)=0 20 25 30 2903803 -16-p(bib2, b)=0 Alors, en considérant que aia2 a'true, et bib2 b'false : E(S)= !E( Si)A E( S2) Oscillateur Definitions StS S={a,b} p(a,a)=p(b,b)=0 Alors, à chaque nouvelle résolution, le système S change d'état. Rom Définitions S={ a} Le système S est toujours dans l'état a. Disable Définitions : S={a} S'={enable, disable} SyS' p(a,enable)=1 p(a,disable)=0 30 Alors, l'état enable est toujours actif, l'état disable n'est jamais actif. Chaîne de Markov Définitions : 5 10 15 20 25 2903803 -17- STS S={ a,b,c } p(a,c)=0 5 p(b,a)=0 p(c,a)=0 Supposons que l'état initial de S est a. Alors, le système reste un certain temps dans l'état a, puis passe dans l'état b, puis 10 évolue sans fin entre l'état b et l'état c, sans jamais revenir dans l'état a. b6 : Algorithme de résolution faible sous contrainte Pour la résolution sous contrainte, on fournit un ensemble de contraintes (S,b,n) : le 15 système S est contraint dans l'état b avec l'importance n. L'algorithme est le suivant : - préparation : o on associe les contraintes à leur système. Si plusieurs contraintes s'appliquent à 20 un même système, on conserve la contrainte de priorité supérieure o les systèmes sont initialisés dans l'état non résolu puis récursivement, choisir un système résoluble : o le système n'est pas encore résolu o les relations a de ce système mènent à des états dont les systèmes sont résolus 25 o si le système est en résolution quantique : ^ toutes les relations entrantes sont dans un état connu (suspendu ou non) ^ les relations entrantes gamma non suspendues ont une source résolue o si le système est en résolution arithmétique : 30 ^ tous les systèmes utilisés dans la relation arithmétique sont résolus o heuristique : on s'intéresse en priorité aux systèmes en résolution arithmétique, puis au système en résolution quantique ayant le moins d'états possibles on détermine si le système est suspendu, si oui, on résout le système en le mettant dans l'état suspendu et on poursuit récursivement 2903803 -18-sinon en résolution arithmétique : o on évalue l'expression arithmétique, qui donne le nouvel état o on résout récursivement sinon en résolution quantique : 5 o on calcule les probabilités des états non suspendus du système o si aucun état n'est possible, ou si le système est contraint sur un état impossible, la résolution de ce système échoue fauted'état candidat o on effectue un tirage en respectant les probabilités, puis on essaie les états en commençant par celui qui a obtenu le meilleur score 10 ^ on choisit un état, et on résout récursivement ^ si la résolution récursive échoue, on passe à l'état suivant ^ si aucun état n'est possible, la résolution échoue En cas d'échec, on s'intéresse alors au dernier système qui a provoqué l'échec (le 15 dernier qui a échoué, faute d'état candidat). Puis en remontant l'arbre des relations alpha, gamma et tau qui mènent à ce système, on détermine la liste des contraintes et des relations d'importance finie qui ont conduit à l'échec. On supprime alors la contrainte ou la relation de moindre importance, et on recommence la résolution. 20 L'espace étant librement calculable, il y a toujours une solution, en retirant toutes les contraintes et toutes les relations d'importance finie dans le pire des cas. Bien entendu, les concepts et les règles précédemment évoqués devront être adaptés à la spécificité des fonctions exécutées par le système expert. Ainsi, initialement, il conviendra tout d'abord de définir une liste (éventuellement vide) de contraintes initiales, qui seront appliquées lors de la première évaluation. Un certain nombre de systèmes seront définis comme maîtres , étant entendu que 30 tout système est associé à au moins un système maître (éventuellement lui-même). Les systèmes maîtres décident de l'heure de la prochaine résolution pour leurs systèmes esclaves. 25 2903803 - 19 -Chaque état d'un système maître définit une durée de base . Lorsqu'un état d'un système maître est activé, une nouvelle résolution devra se produire à l'issue de la durée de base. Cette résolution sera partielle : - pour les systèmes non suspendus qui ne sont pas esclaves de ce système maître, on 5 applique une contrainte de prolongation de l'état actif avec une importance quasi-infinie (supérieure à toutes les autres importances de l'espace). Généralement, on pourra considérer qu'un système maître l'est pour tout l'espace, ce qui évite la résolution partielle. 10 Par ailleurs, il conviendra de définir la table de mixage qui est une liste de pistes typées. Chaque piste est associée à un ou plusieurs systèmes S de l'espace de calcul de mixage. Par exemple, pour une piste audio : 15 un système va indiquer la brique musicale à jouer (les états du système sont congruents avec les briques de la piste) - un système arithmétique va indiquer le nombre de répétitions un système arithmétique va indiquer l'importance de la contrainte de répétition un système arithmétique va indiquer le volume. 20 Pour une piste de styles : - un système va indiquer le style en cours un système arithmétique va indiquer le temps minimum de maintien du style un système arithmétique va indiquer l'importance de la contrainte de maintien du 25 style En pratique, les pistes sont associées à : - un système principal qui sélectionne les sous composants en cours de lecture 30 des systèmes secondaires qui définissent des attributs de la piste ; lorsque ces attributs sont constants on pourra éviter de définir des systèmes pour les représenter (il s'agirait de toute manière de systèmes absolument contraints, sans relation alpha). 2903803 -20 - Lorsqu'une piste change d'état, on détermine une durée minimum souhaitée, en utilisant les attributs. Une fois la table de mixage définie, on procède à la définition des contraintes à 5 appliquer sur chaque piste. Lors de la résolution effectuée par le système expert : contrainte de prolongation : l'état doit être maintenu de manière impérative (une brique musicale qui n'est pas terminée) - contrainte de répétition : l'état devrait être renouvelé (répétition d'une musique, maintien d'un style,...) 10 contrainte manuelle : l'utilisateur force le passage à un état donné. Pour chaque contrainte, on définit un niveau d'importance, en utilisant des constantes ou des valeurs de systèmes arithmétiques. 15 Bien entendu, les pistes audio dépendant d'un même système maître devront être synchronisées. Ainsi, lorsqu'une brique audio est sélectionnée sur une piste, sa lecture commence au moment précis de la résolution qui a conduit à sa sélection. Cette lecture ne se fait pas en boucle, même si la brique doit se répéter, ainsi, lors d'une prochaine résolution : 20 o soit la brique est encore en cours de lecture (contrainte de prolongation), et on poursuit simplement la lecture o soit la lecture de la brique est terminée et, si la brique reste sélectionnée (après par exemple une contrainte de répétition), on recommence la lecture au moment précis de cette nouvelle résolution. 25 Comme précédemment mentionné, le système expert fait intervenir un fichier conçu de manière à rassembler de manière structurée les éléments suivants : - définition du calcul de mixage - définition des éléments multimédia 30 définition de la table de mixage o définition des pistes, et lien entre les pistes o lien entre les pistes et leurs attributs et les systèmes du calcul de mixage o lien entre les éléments multimédia et les états du calcul de mixage 2903803 -21- définition des contraintes proposées à l'interactivité et de la conduite à tenir lorsque l'interactivité n'est pas proposée par le système expert. Ce fichier consiste en un fichier de description xml, contenant quatre types de tag : 5 component, system, constraint, framework, < component... > < system... > < constraint... > 10 < framework... > Ces tags peuvent avoir les deux attributs suivants : name : nom servant à la recherche ou à l'affichage id : id unique pour tout le fichier Les attributs sont soit : - une constante un id de système, l'attribut prend alors la valeur de l'état courant du système 20 Le tag component décrit un composant de la table de mixage présentant un attribut principal : Type = audio abstract I general I ... Il possède généralement l'attribut : 25 Select : valeur courante du composant (généralement un id de système de calcul de mixage) Le composant general permet de définir des attributs généraux du fichier (tempo principale, volume principal,...) Un tel composant ne comporte normalement pas 30 d'attribut select. Lorsqu'il possède un des attributs suivants, cela signifie que le composant va maintenir la valeur courante pendant un certain temps. 15 2903803 -22- length : durée en secondes repeatmin/repeatmax : nombre de répétitions level : importance de la contrainte de maintien 5 Le composant peut également contenir l'attribut master qui indique que l'évaluation de la table de mixage doit se faire à échéance de la durée de base . Cette durée de base est déterminée par la durée de base de l'état courant de l'attribut select . 10 Pour un composant de type audio , on aura également les attributs suivants : Volume_left : volume voix gauche Volume right : volume voix droite Le tag system décrit un système du calcul de mixage ainsi que les relations qui le 15 déterminent. Ses attributs sont, en plus de narre et id : Type=select 1 numerical eval=quantum 1 arithmetical Le type a les valeurs suivantes: - select : un choix parmi une liste d'état numerical : une valeur numérique 25 Le mode d'évaluation a les valeurs suivantes : quantum : réduction quantique (uniquement pour le type select) - arithmetical : expression arithmétique Les sous-tags sont : < alpha... > 30 < state... > < relation... > < expr... > 20 2903803 - 23 - Le sous-tag alpha définit une relation alpha pour le système. L'attribut est : State : id de l'état déclencheur de la relation alpha 5 Le sous-tag state définit, uniquement pour un système de type select un des états possibles du système. Le nom de l'état peut parfois être interprété comme une valeur numérique. 10 Les attributs sont, en plus de name et id : type= audio 1 abstract enable= on ( off Lorsque enable vaut "off', l'état n'est pas sélectionnable. 15 Pour un état de type audio , les attributs sont également : File : fichier wav Time : heure du fichier wav Stereo : type de fichier wav 20 Bytestart : octet de début du stream data dans le fichier wav Bytelength : taille du stream data dans le fichier wav Volume_left : volume voix gauche Volume_right : volume voix droite 25 On définit également des durées ou des coefficients de répétition : Length : durée en secondes Repeatmin/repeatmax : nombre de répétitions Level : importance de la contrainte de maintien 30 Le sous-tag relation définit une relation gamma ou tau pour le système. Les attributs sont, en plus de name et id : type= gamma 1 tau source : id du système source 2903803 - 24 - level : niveau d'importance Il admet les sous-tag suivants : < alpha... > : relation(s) alpha éventuelles 5 < matrix > : matrice de probabilités (dans l'ordre d'apparition des états dans ce fichier xml) < suspend> : vecteur de probabilités de l'état source suspendu La matrice et le vecteur ont un corps qui est la suite des valeurs numériques des 10 coefficients, séparés par un espace ou un retour à la ligne. Le sous-tag expr définit dans son corps une expression arithmétique qui s'appuie sur : des valeurs numériques 15 des états (#id) la valeur courante d'un système (#id) la valeur précédente d'un système (@id) if...then...else... 20 rand (retourne un réel entre 0 et 1) sin, cos, tan,... Le tag constraint décrit une contrainte du calcul de mixage éventuellement interactive. 25 Ses attributs sont, en plus de narre et id : State : id de l'état à forcer Level : importance de la contrainte Interactive= yesl no 30 Default : yeslno Startup : yeslno Icon : fichier graphique 2903803 - 25 Le tag framework décrit le modèle de structure du fichier. Il est utile pour les phases d'édition, en produisant automatiquement certains éléments de structure (principalement des relations). 5 Par exemple, pour le framework song : un composant abstrait sert d'harmonie un composant abstrait sert de style - un composant abstrait absolument contraint sert de score une piste contient l'original 10 une piste contient la voix un composant abstrait choisit, via des relations alpha, entre l'original et le mélange - une contrainte par style - une contrainte pour passer en mode original 15 - une contrainte pour supprimer la voix On applique une relation gamma entre le composant de score et chacune des pistes audio. 20 On applique une relation gamma entre le composant de style et chacune des pistes audio. On applique une relation gamma entre le composant harmonie et chacune des pistes audio. On applique une relation tau sur l'harmonie pour passer linéairement de l'une à 25 l'autre, et qui saute la première harmonie lors de la reprise. On applique une relation tau sur la piste originale pour passer en boucle les éléments de la piste originale. On applique une relation tau entre la piste harmonie et la piste originale. On applique une relation tau entre la piste originale et l'harmonie. 30 Un morceau est défini par : - le fichier xml de description - les fichiers wav, icon,... 2903803 - 26 - On définit un format composite permettant de rassembler tous ces éléments dans un seul fichier. Le fichier complet contient initialement une table de sous fichiers : 5 - nombre de fichiers, - nom du fichier, taille, index, dans le fichier composite. Le fichier de description s'appelle index .xml . Les fichiers référencés par le xml sont recherchés d'abord dans la table de sous 10 fichiers, puis sur le disque local. Le système expert a pour fonction : - d'instancier une performance, de proposer une interactivité sur la performance, 15 - de gérer le passage d'une performance vers une autre. Dans l'exemple illustré sur les figures 2 et 3, le point de départ de la production d'un contenu musical selon l'invention consiste en un fichier audio ou vidéo, sous une forme numérique. Cette séquence initiale présente un tempo qui va servir à la 20 décomposition en séquences et donner l'indication de cadencement au programme d'exécution. La première étape du procédé consiste ici en un découpage en séquences de durée correspondant à un multiple de mesures (au sens musical). Ce découpage peut être 25 effectué manuellement, par exemple à l'aide d'un logiciel d'édition musicale classique ou encore
d'une pédale actionnée en rythme commandant l'enregistrement de marqueurs de fin de mesure. Le découpage peut également être réalisé automatiquement, par analyse de la séquence. Le résultat de cette première étape de découpage est la production de matériaux initiaux audio ou des matériaux initiaux 30 vidéos, constitués par des fichiers numériques. La deuxième étape consiste à appliquer des filtres sur ces matériaux initiaux audio ou vidéo, pour calculer, pour chaque matériau initial, un ou plusieurs matériaux filtrés, dans un format correspondant au programme d'exécution utilisé (par exemple un 2903803 - 27 - format MP3 û marque déposée). Chaque matériau filtré est associé à un identifiant, par exemple le nom du fichier. On construit ainsi un ensemble de matériaux filtrés spécifiques, c'est-à-dire résultant du filtrage de la séquence initiale. Ces filtres peuvent être constitués par : 5 un filtre isolant la voie d'un chanteur, ou l'orchestration, un filtre de distorsion, un filtre d'ajout de sons, un filtre produisant des effets spéciaux, 10 Optionnellement, on conserve un leader (piste de chant) sur laquelle s'organise les autres matériaux filtrés pour conserver la structure originale. On ajoute par ailleurs des matériaux filtrés universels dont la longueur peut 15 dépasser celle d'un matériau filtré spécifique . Il s'agit de fichiers numériques musicaux ou vidéos, qui ne dépendent pas de la séquence musicale ou vidéo initiale. Pour permettre à l'auditeur d'interagir avec le fichier produit, on prépare trois séries de composants : 20 - des critères psycho-acoustiques des pistes une collection de matériaux filtrés ou briques qui constituent les susdits sous composants.
25 On définit des critères psycho-acoustiques, par exemple : le volume, le numéro d'ordre dans la séquence initiale le niveau de ressemblance à la séquence initiale - la qualité de brique de démarrage ou de fin de morceau, 30 élément solo (éteignant les autres pistes), élément joué systématiquement avec une autre brique,... Ensuite, on construit un ensemble de pistes (n pistes vidéo, m pistes audio, z pistes texte, éclairage, ou encore un filtre ex : volume appliqué aux pistes x et y (certaines 2903803 - 28 -pistes définissent des effets appliquées à d'autres pistes, relations inter-pistes)....) Il existe également des pistes dites de contrôle , qui n'ont aucun effet sensible à l'oeil ou à l'oreille, mais qui déterminent les paramètres sur lesquelles les autres pistes vont s'appuyer. Par exemple une piste va déterminer l'harmonie à respecter 5 par les autres. On construit ensuite une collection de sous composants ou briques : chaque brique est constituée d'un matériau filtré, auquel on associe : des coefficients correspondant à son poids par rapport à chacun des critères 10 psycho-acoustiques (manuellement ou automatiquement) une piste choisie parmi la collection de pistes. On définit ensuite des curseurs d'interaction permettant à l'utilisateur d'interagir avec l'exécution musicale.
15 L'étape suivante consiste à définir pour chaque piste, une fonction d'évaluation consistant à pondérer chaque brique en fonction de constantes (critères psycho acoustiques) et d'un contexte (valeurs des curseurs, et historique du morceau en cours d'exécution).
20 Optionnellement, on définit pour chaque piste des fonctions de modification de variables interne, pour chaque brique (effet de bord), appelée au début et à la fin de chaque brique. Les différentes fonctions permettent les calculs arithmétiques de base, le recours à un générateur aléatoire, l'utilisation de structures complexes et la gestion des effets de 25 bord. Fonction de distance : évite d'évaluer la totalité des combinaisons de briques, et de n'appliquer la fonction que sur les briques proches de la brique dont la lecture vient de s'achever. On construit ainsi une séquence audio/vidéo dont le format correspondant à un format multimédia dédié à la musique interactive.
30 Le format utilise la notion de morceau . On rappelle qu'un morceau est une séquence multimédia de durée quelconque, éventuellement illimitée. Le format selon l'invention repose sur des sous composants ou briques multimédia, qui sont principalement des briques audio, mais qui pour certaines sont également 2903803 - 29 - vidéo, textuelles ou autres. Certaines briques peuvent également être des filtres multimédia (filtre audio, vidéo, ...) qui seront appliqués à d'autres briques. Le système produit une séquence multimédia en assemblant et en mixant les briques 5 comme décrit dans ce qui précède. Le choix des briques à assembler et à mixer peut se faire en fonction des interactions d'un utilisateur en cours d'exécution de la séquence. Le système est constitué de plusieurs étages : 10 ^ la composition ^ les fichiers ^ le programme d'exécution. La composition d'un morceau s'effectue en assemblant, de manière non exhaustive : 15 ^ des éléments multimédia appelés briques : des extraits de musique, des extraits de vidéo, des animations 3d, des textes, des filtres audio et vidéo, ... Chaque brique est une séquence temporelle de durée limitée, codant des manifestations multimédia diverses ^ des paramètres dits psycho-acoustiques déterminants les attributs 20 constants des briques ^ des curseurs d'interaction ^ des fonctions d'évaluation, déterminant la manière dont la sélection des briques va s'effectuer.
25 Cet assemblage donne normalement lieu à un fichier contenant ou référençant les éléments cités ci-dessus. Le format d'encodage du contenu de chaque brique n'est pas figé dans la spécification. Il peut utiliser un format standard, par exemple MP3 (marque déposée).
30 Le format contient les listes de paramètres correspondant aux critères psycho-acoustiques ainsi que la description des curseurs d'interaction. 2903803 - 30 - En outre, le format inclut les différentes fonctions d'évaluation. Ces fonctions sont décrites sous la forme d'un bytecode dont les caractéristiques font partie de la spécification. Ce bytecode a vocation à être interprété par une machine virtuelle intégrée dans les programmes d'exécution. Le fichier est ouvert à l'ajout de méta-données permettant l'enrichissement des morceaux et notamment l'enrichissement de leur rendu par les programmes d'exécution.
10 Le programme d'exécution est un logiciel capable de lire les fichiers générés par le procédé selon l'invention, puis d'exécuter les morceaux correspondants. Le programme d'exécution est capable d'interpréter les briques contenues ou référencées dans le fichier.
15 Le programme d'exécution est capable de gérer les curseurs d'interaction, éventuellement de manière automatique, sans faire appel à un utilisateur, mais généralement en offrant une interface d'interaction à l'utilisateur. Enfin le programme d'exécution est capable d'évaluer les fonctions d'évaluation et de sélectionner en fonction du résultat les briques à mixer.
20 On définit un morceau de la manière suivante : un tempo :17 un ensemble de pistes : T une relation f non symétrique et non nécessairement injective indiquant 25 qu'une piste agit sur une autre piste : t /i t' un ensemble de critères psycho acoustiques : C - un ensemble de briques multimédia, associée chacune à une piste : B = { bt , t ET} ; par extension, on notera, Bt les briques associées à une certaine piste un ensemble de valeurs, évaluant chaque brique sur chaque critère psycho 30 acoustique : K = { kc,b , c EC, b EB) une fonction de distance, éventuellement euclidienne, sur les critères psycho acoustiques : o dr: BxBû'9?} 5 2903803 -31- un limiteur psycho acoustique, éventuellement infini : 2, e `N + un ensemble de curseurs d'interaction : I - un ensemble de paramètres d'interaction, donnant la valeur courante de chaque curseur d'interaction : P = {p,, i EI } 5 la liste des briques en cours de diffusion sur chaque piste, et le nombre de répétitions : H = (ht, tET, h,EB}v{r,, teT} un ensemble de paramètres généraux (par exemple, le temps écoulé depuis le début du morceau) : G un ensemble de variables globales à usage général : V 10 - des fonctions d'évaluation associées à chaque piste : o F={f,, tET},avec f, : B,xKxPxHxGxV-91 o ces fonctions peuvent s'appuyer sur un générateur aléatoire rand : 0 ---> 9?[O, 1[ o ces fonctions peuvent générer des effets de bord sur l'ensemble V 15 - pour optimiser la gestion de ces effets de bord, des fonctions de début et de fin de brique, pour chaque piste : o S={st, tET}, avec s, B,xKxPxHxGxV --91 o E={e,, tET}, avec et: B,xKxPxHxGxV-~ ? 20 Lors de l'exécution d'un morceau, le programme d'exécution mixe toutes les pistes en permanence. Sur chaque piste, il enchaîne les briques à raison d'une seule à la fois. A la fin de chaque brique, le programme d'exécution sélectionne la brique suivante, qu'il démarrera sur le prochain tempo.
25 La sélection de la prochaine brique à jouer sur la piste t se fait en déterminant la brique b qui maximise f (b, K, P, H; G, V). Ce calcul se fait sur les briques b EB,, telles que cl, (b, h) < 2, où b0 est la brique qui vient de s'achever.
30 En fonction du nombre de briques contenues dans le morceau et de la puissance de calcul du programme d'exécution, la valeur 2 pourra être réduite dynamiquement. 2903803 - 32 - Au démarrage d'une brique, le programme d'exécution évalue la fonction st (b, K, P, H, G, V) ; à la fin de la brique, il évalue la fonction et (b, K, P, H G, V). La fonction st peut le cas échéant, au moyen d'effets de bord, altérer les paramètres de lecture de la brique (répétition, hauteur, volume général, ...). L'utilisateur interagit pour sa part sur les paramètres d'interaction P. L'opération de mixage dépend de la nature des briques. Dans le cas général, les pistes ne sont pas indépendantes, la relation f3 définit les dépendances. Par exemple 10 un piste enchaînant des effets sonores (volume, écho, ...) sera appliquée au mixage sur une piste audio. Exemples : Fonctionnement aléatoire pur Le programme d'exécution choisit aléatoirement à tout moment une brique parmi 15 toutes celles disponibles. d (b, bo) = 0 f ( b, K, P, H, G, V) = rand Le programme d'exécution choisit aléatoirement à tout moment une brique parmi 20 toutes celles disponibles et effectue une répétition de la brique un nombre variable de fois, égal à 1, 2, ..., 2n, où n est un paramètre de répétition de la brique. C = { repetition } d (b,bo)=0 25 f ( b, K, P, H, G, V) = if b != ht then rand else if rt <2krepetttion,b && rt != 2E(randxkrepetition,b) then -1 else 1 30 Les briques sont ordonnées et le programme d'exécution choisit systématiquement la brique suivante, et reboucle sur la première à la fin de la séquence. C = { order } d (b, bo) = 0 35 f(b,K,P,H,G,V)= i h, = 0 Il korder,b <= korder,ht then -korder, b else korder,ht - korder,b Le fichier rassemble de manière structurée les éléments suivants : 40 des paramètres généraux (principalement le tempo) 5 2903803 - 33 - le nombre et la description des pistes, notamment la nature de chacune (source audio / effet sonore / sous-titre / video / filtre visuel) les relations entre les pistes : par exemple, la piste 3 gère le crescendo de la piste 2 le nombre et la description des caractères psycho-acoustiques 5 les différents matériaux multimédia (soit directement intégrés dans le fichier, soit référencés par un chemin sur le disque ou par une url) la liste et la description de chaque brique (une brique contient un matériau multimédia, mais un même matériau peut être utilisé par plusieurs briques) 10 - le tableau des valeurs des caractères psycho-acoustiques de chaque brique le nombre et la description des curseurs d'interaction - la liste des fonctions de distance de chaque piste, définie sous la forme d'un bytecode, ainsi que le limiteur associé la liste des fonctions d'évaluation de chaque piste, définie sous la forme d'un 15 bytecode la liste des fonctions de début et de fin de chaque piste, définie sous la forme d'un bytecode. Le format des matériaux multimédia est libre : mp3, wav, ... Le codec associé doit 20 évidemment être présent dans le programme d'exécution. Le bytecode est un bytecode à pile, permettant les calculs arithmétiques de base, le recours à un générateur aléatoire, l'utilisation de structures complexes (listes, tuples, vecteurs) et la manipulation de fonctions.
Claims (22)
1. Procédé pour la composition automatique ou semi-automatique, en temps réel d'une séquence multimédia, caractérisé en ce qu'il comprend les phases opératoires suivantes : - une phase préalable comportant : la création d'une structure de séquence multimédia de référence de durée éventuellement illimitée ou même le choix d'une structure de séquence multimédia existante, en tant que structure de séquence de référence, la décomposition de ladite structure en des composants de base assimilables à des pistes (P1, P2, Pä) (par exemple audio, texte, vidéo) chaque composant de base ou piste étant décomposé en une suite de sous composants de base (ou briques (B; - 13: )) pouvant consister par exemple en des mouvements musicaux, en des harmonies, en des styles..., l'association à chacun de ces sous composants d'une pluralité de sous composants homologues (ou briques homologues (B; H;, B; B 1 Hk)) contenus dans des fichiers stockés dans des bases de données et à chacun desquels sont affectés des attributs, et une phase de composition automatique en temps réel éventuellement assistée d'une nouvelle séquence multimédia comportant pour tout ou partie des sous composants de base de la structure de séquence de référence, le maintien desdits sous composants ou leur remplacement par des sous composants homologues respectifs choisis algorithmiquernent selon un algorithme déterminant, pour chaque sous composant de base ou sous composant homologue, la probabilité de ce sous composant d'être choisi, compte tenu de ses attributs, puis en effectuant ensuite un choix aléatoire dans le respect desdites probabilités, ladite phase de composition pouvant s'effectuer pendant ou après l'étape de création de la structure de séquence multimédia. 2903803 - 35 -
2. Procédé selon la revendication 1, caractérisé en ce que la susdite phase de composition se poursuit par rebouclage, la séquence se régénérant en permanence en associant des sous composants choisis algorithmiquement dans les bases de données, l'utilisateur pouvant intervenir au 5 niveau du choix des composants en influençant le fonctionnement du susdit algorithme.
3. Procédé selon l'une des revendications 1 et 2, caractérisé en ce que les susdites probabilités sont calculées en appliquant des règles 10 indépendantes de la substance du sous composant.
4. Procédé selon la revendication 3, caractérisé en ce que les susdites règles considèrent que le choix d'un sous composant influence les autres choix concomitants ou à venir, et en ce qu'une règle 15 consiste à modifier la probabilité de choisir une variation en fonction des choix antérieurs ou concomitants.
5. Procédé selon la revendication 1, caractérisé en ce que les choix effectués, lors de la susdite phase de composition, ne 20 sont pas aléatoires et portés sur le sous composant bénéficiant de la probabilité maximale d'être choisi.
6. Procédé selon la revendication 3, caractérisé en ce que les susdites règles sont caractérisées par un degré d'importance 25 ou de priorité.
7. Procédé selon la revendication 6, caractérisé en ce que, lorsque deux règles sont contradictoires, on supprime momentanément celle de moindre importance de telle sorte qu'un choix de sous 30 composant soit toujours possible.
8. Procédé selon l'une des revendications précédentes, caractérisé en ce que la susdite phase de composition est mise en oeuvre par un système (SE) manipulant une table de mixage virtuelle comportant un nombre de 2903803 -36 - pistes potentiellement infini, des pistes activables et désactivables unitairement, des pistes de nature variée, un nombre d'organes de commande (boutons (B), curseurs (C)) potentiellement infini, l'activation d'une piste enchaînant des sous composants compatibles avec la nature de la piste, le système déterminant une durée minimale 5 pendant laquelle un sous composant choisi est maintenu.
9. Procédé selon la revendication 8, caractérisé en ce que le susdit système (SE) comprend : - un moteur abstrait travaillant sur des contraintes imposées par la base de règles et 10 fournissant une sélection de sous composants de nature variée, - un modèle de table de mixage virtuelle permettant de générer une interface d'interaction à partir des éléments sélectionnés.
10. Procédé selon la revendication 9, 15 caractérisé en ce que chaque piste de la table de mixage virtuelle est associée à un ou plusieurs systèmes d'un espace de calcul.
11. Procédé selon la revendication 10, caractérisé en ce que pour une piste audio, un système indique le sous composant 20 (brique musicale) à jouer, tandis qu'un système arithmétique indique le nombre de répétitions à effectuer, un système arithmétique indique l'importance de la contrainte de répétition et un système arithmétique indique le volume.
12. Procédé selon la revendication 10, 25 caractérisé en ce que chaque piste est associée à un système principal qui sélectionne les sous composants de cette piste et des systèmes secondaires qui définissent les attributs de la piste, et en ce que, lorsque la piste change d'état, le système détermine une durée minimum souhaitée en utilisant les attributs. 30
13. Procédé selon la revendication 10 dans lequel des pistes doivent être synchronisées, caractérisé en ce que lorsqu'un sous composant est sélectionné sur l'une desdites pistes, sa lecture commence au moment précis qui a conduit à sa sélection, ce 2903803 - 37 - moment étant déterminé par l'un des systèmes qui joue alors le rôle de système maître.
14. Procédé selon la revendication 13, 5 caractérisé en ce que ladite lecture ne se fait pas en boucle, même si le sous composant doit se répéter de sorte que, lors d'une prochaine résolution : soit le sous composant est encore en cours de lecture et le système poursuit simplement la lecture, soit la lecture du sous composant est terminée et, si le sous composant reste 10 sélectionné, on recommence la lecture au moment précis de cette nouvelle résolution.
15. Procédé selon la revendication 8, caractérisé en ce que le susdit système comprend un fichier conçu de manière à 15 rassembler de manière structurée les éléments suivants : - définition du calcul de mixage -définition des éléments multimédia - définition de la table de mixage o définition des pistes, et lien entre les pistes 20 o lien entre les pistes et leurs attributs et les systèmes du calcul de mixage o lien entre les éléments multimédia et les états du calcul de mixage - définition des contraintes proposées à l'interactivité et de la conduite à tenir lorsque l'interactivité n'est pas proposée par le système expert. 25
16. Procédé selon la revendication 5, caractérisé en ce qu'il comprend les étapes suivantes : la création à partir d'une séquence musicale prédéfinie de pistes constituées par des successions de sous composants musicaux par application d'un filtre ou d'un traitement sur ladite séquence musicale, 30 la création d'une base de sous composants musicaux comprenant les sous composants ainsi créés ainsi que des sous composants préexistants sélectionnés en fonction de leur cohérence avec les sous composants créés, - la définition d'une nomenclature de descripteurs psycho-acoustiques, 2903803 - 38 - la construction d'une table définissant un score pour chaque couple (sous composant ; descripteur), la définition d'un sous-ensemble de descripteurs sur lesquels un utilisateur peut interagir par l'intermédiaire d'une interface de mixage, via un poids d'interaction 5 spécifique, - la construction d'une liste de fonctions de mixage, chaque fonction étant liée à une piste, chaque fonction étant appliquée à un sous composant candidat avec les paramètres de contexte (sous composant qui vient d'être joué, sous composant en cours de lecture sur les autres pistes, poids d'interaction défini par l'utilisateur) et 10 ayant pour résultat un taux de pertinence du sous composant candidat, la sélection du sous composant candidat dont le résultat de la fonction de mixage est maximal.
17. Procédé selon l'une des revendications précédentes, 15 caractérisé en ce qu'une partie au moins des sous composants sont des sous composants de contrôle comportant des informations pour le pilotage d'un périphérique.
18. Procédé selon l'une des revendications précédentes, 20 caractérisé en ce qu'il comporte une étape automatique de sélection des sous composants en fonction d'informations provenant de capteurs physiques ou de sources informatiques distantes.
19. Procédé selon l'une des revendications précédentes, 25 caractérisé en ce qu'il comporte en outre des sous composants non musicaux.
20. Procédé selon la revendication 16, caractérisé en ce que les fichiers comportent une partie au moins des éléments suivants : des paramètres généraux (principalement le tempo), - le nombre et la description des pistes, notamment la nature de chacune (source audio / effet sonore / sous-titre / video / filtre visuel), - les relations entre les pistes, 30 2903803 - 39 - le nombre et la description des caractères psycho-acoustiques, les différents matériaux multimédia, la liste et la description de chaque sous composant étant entendu qu'un sous composant contient un matériau multimédia, mais un même matériau peut être 5 utilisé par plusieurs sous composants, - le tableau des valeurs des caractères psycho-acoustiques de chaque sous composant, - le nombre et la description des curseurs d'interaction, la liste des fonctions de distance de chaque piste, définie sous la forme d'un 10 bytecode, ainsi que le limiteur associé, - la liste des fonctions d'évaluation de chaque piste, définie sous la forme d'un bytecode, la liste des fonctions de début et de fin de chaque piste, définie sous la forme d'un bytecode. 15
21. Procédé selon la revendication 16, caractérisé en ce qu'il réalise au démarrage d'un sous composant, un programme d'exécution d'une fonction st modifiant les paramètres de contexte, et réalise à la fin du sous composant, un programme d'exécution évaluant la fonction et appliquée aux 20 paramètres de contexte (b, K, P, H, G, V).
22. Dispositif pour la mise en oeuvre du procédé selon l'une des revendications précédentes, caractérisé en ce qu'il comprend des moyens de décomposition d'une séquence 25 multimédia de référence en une pluralité de pistes (PI, P2, Pä) comportant chacune une suite de sous composants (B 1 - B a ), des moyens permettant l'association à chacun de ces sous composants (B- B a ), d'une pluralité de sous composants homologues (B; Hi, B; B Hk) et l'affectation à ces sous composants d'attributs et des moyens de composition automatique en temps réel, éventuellement assistée, 30 d'une nouvelle séquence multimédia comportant, pour tout ou partie des sous composants de base de la séquence de référence, le maintien ou le remplacement desdits sous composants par des sous composants homologues respectifs, choisis 2903803 - 40 - algorithmiquement selon un algorithme déterminant pour chaque sous composant de base ou sous composant homologue la probabilité que ce sous composant soit choisi, compte tenu de ses attributs, puis en effectuant ensuite un choix dans le respect desdites probabilités.
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0700586A FR2903803B1 (fr) | 2006-07-13 | 2007-01-29 | Procede et dispositif pour la composition automatique ou semi-automatique d'une sequence multimedia. |
FR0702475A FR2903804B1 (fr) | 2006-07-13 | 2007-04-04 | Procede et dispositif pour la composition automatique ou semi-automatique d'une sequence multimedia. |
KR1020097003048A KR20090051173A (ko) | 2006-07-13 | 2007-07-12 | 멀티미디어 시퀀스를 자동적 또는 반자동적으로 구성하는 방법 및 장치 |
JP2009519010A JP2009543150A (ja) | 2006-07-13 | 2007-07-12 | マルチメディアシーケンスを自動的又は半自動的に合成するための方法及び装置 |
US12/373,682 US8357847B2 (en) | 2006-07-13 | 2007-07-12 | Method and device for the automatic or semi-automatic composition of multimedia sequence |
PCT/IB2007/003205 WO2008020321A2 (fr) | 2006-07-13 | 2007-07-12 | procédé et dispositif pour la composition automatique ou semi-automatique d'une séquence multimédia |
EP07825486A EP2041741A2 (fr) | 2006-07-13 | 2007-07-12 | Procede et dispositif pour la composition automatique ou semi-automatique d'une sequence multimedia |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0606428A FR2903802B1 (fr) | 2006-07-13 | 2006-07-13 | Procede de generation automatique de musique. |
FR0700586A FR2903803B1 (fr) | 2006-07-13 | 2007-01-29 | Procede et dispositif pour la composition automatique ou semi-automatique d'une sequence multimedia. |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2903803A1 true FR2903803A1 (fr) | 2008-01-18 |
FR2903803B1 FR2903803B1 (fr) | 2009-03-20 |
Family
ID=38512573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0700586A Expired - Fee Related FR2903803B1 (fr) | 2006-07-13 | 2007-01-29 | Procede et dispositif pour la composition automatique ou semi-automatique d'une sequence multimedia. |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2903803B1 (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014068309A1 (fr) * | 2012-10-30 | 2014-05-08 | Jukedeck Ltd. | Procédé de planification générative |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5633985A (en) * | 1990-09-26 | 1997-05-27 | Severson; Frederick E. | Method of generating continuous non-looped sound effects |
US5877445A (en) * | 1995-09-22 | 1999-03-02 | Sonic Desktop Software | System for generating prescribed duration audio and/or video sequences |
EP1274069A2 (fr) * | 2001-06-08 | 2003-01-08 | Sony France S.A. | Méthode et dispositif pour la continuation automatique de musique |
US20030037664A1 (en) * | 2001-05-15 | 2003-02-27 | Nintendo Co., Ltd. | Method and apparatus for interactive real time music composition |
US20030084779A1 (en) * | 2001-11-06 | 2003-05-08 | Wieder James W. | Pseudo-live music and audio |
US20030188625A1 (en) * | 2000-05-09 | 2003-10-09 | Herbert Tucmandl | Array of equipment for composing |
US20030212466A1 (en) * | 2002-05-09 | 2003-11-13 | Audeo, Inc. | Dynamically changing music |
-
2007
- 2007-01-29 FR FR0700586A patent/FR2903803B1/fr not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5633985A (en) * | 1990-09-26 | 1997-05-27 | Severson; Frederick E. | Method of generating continuous non-looped sound effects |
US5877445A (en) * | 1995-09-22 | 1999-03-02 | Sonic Desktop Software | System for generating prescribed duration audio and/or video sequences |
US20030188625A1 (en) * | 2000-05-09 | 2003-10-09 | Herbert Tucmandl | Array of equipment for composing |
US20030037664A1 (en) * | 2001-05-15 | 2003-02-27 | Nintendo Co., Ltd. | Method and apparatus for interactive real time music composition |
EP1274069A2 (fr) * | 2001-06-08 | 2003-01-08 | Sony France S.A. | Méthode et dispositif pour la continuation automatique de musique |
US20030084779A1 (en) * | 2001-11-06 | 2003-05-08 | Wieder James W. | Pseudo-live music and audio |
US20030212466A1 (en) * | 2002-05-09 | 2003-11-13 | Audeo, Inc. | Dynamically changing music |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014068309A1 (fr) * | 2012-10-30 | 2014-05-08 | Jukedeck Ltd. | Procédé de planification générative |
US9361869B2 (en) | 2012-10-30 | 2016-06-07 | Jukedeck Ltd. | Generative scheduling method |
Also Published As
Publication number | Publication date |
---|---|
FR2903803B1 (fr) | 2009-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2903804A1 (fr) | Procede et dispositif pour la composition automatique ou semi-automatique d'une sequence multimedia. | |
AU2021201916B2 (en) | Rhythmic Synchronization Of Cross Fading For Musical Audio Section Replacement For Multimedia Playback | |
US10799795B1 (en) | Real-time audio generation for electronic games based on personalized music preferences | |
US20120096371A1 (en) | System and method for online interactive recording studio | |
Tanaka et al. | Facilitating collective musical creativity | |
US8907191B2 (en) | Music application systems and methods | |
US20130097558A1 (en) | Adaptive artistry | |
FR2903803A1 (fr) | Procede et dispositif pour la composition automatique ou semi-automatique d'une sequence multimedia. | |
Hockman | An ethnographic and technological study of breakbeats in hardcore, jungle and drum & bass | |
Thalmann et al. | A user-adaptive automated dj web app with object-based audio and crowd-sourced decision trees | |
FR2903802A1 (fr) | Procede de generation automatique de musique. | |
O'Connor et al. | Determining the Composition | |
GLEADALL | IN PURSUIT OF IMPERFECTION | |
Allen | Individuality and distinction: The interplay between artist and audience in electronic dance music | |
Navas | Remix [ing] Music | |
WO2009122059A2 (fr) | Procede de gestion de flux audionumeriques | |
FR2916566A1 (fr) | "systeme d'interpretation de musique preenregistre assiste par ordinateur" |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20130930 |