Jérôme Nika
Researcher & computer music designer
PhD, MSc, MEng

ResearchGate - Google Scholar
jerome[dot]nika[at]ircam[dot]fr


Résumé de la thèse (soutenue en 2016 --> travaux plus récents: voir page principale)

– « Résumé de la thèse » (CLIQUER POUR VOIR LE PARAGRAPHE)… –

Masquer « Résumé de la thèse » …

Masquer « Résumé de la thèse » …

La thèse présentée propose l’introduction de scénarios temporels pour guider ou composer l’improvisation musicale homme-machine et étudie la dialectique entre planification et réactivité dans les systèmes interactifs dédiés à l’improvisation. On fait ici référence à des systèmes informatiques capables de produire de la musique en relation directe avec le contexte musical produit par une situation de concert. Ces travaux s’inscrivent dans la lignée des recherches sur la modélisation du style et l’improvisation automatique vue comme la navigation à travers une mémoire musicale provenant du jeu d’un musicien « analogique » improvisant aux côtés du système ou d’un corpus préalablement appris.

On cherche ici à appréhender l'improvisation pulsée et dite « idiomatique » (c'est-à-dire se référant à un idiome particulier) en opposition à l'improvisation « non idiomatique » à laquelle étaient dédiées les recherches mentionnées précédemment. Dans le cas idiomatique, l'improvisateur est confronté à des questions d'acceptabilité au regard de l'idiome qui se posent donc également à un système d'improvisation voulant se frotter à l'improvisation jazz, blues, rock… sans être pour autant limité à des règles impératives interdisant toute transgression et digression. En s’appuyant sur l’existence d’une structure formalisée antérieure à la performance dans de nombreux répertoires improvisés (une « grille d’accords » par exemple) ces travaux proposent : un modèle d’improvisation guidée par un « scénario » introduisant des mécanismes d’anticipation ; une architecture temporelle hybride combinant anticipation et réactivité ; et un cadre pour composer des sessions d’improvisation idiomatique ou non à l’échelle du scénario en exploitant la généricité des modèles.

On décrira donc tout d’abord un modèle pour l’improvisation musicale guidée par une structure formelle. Dans ce cadre, « improviser » signifie articuler une mémoire musicale et un « scénario » guidant l’improvisation, une « grille d’accords » dans l’improvisation jazz par exemple. Ce modèle permet d’assurer la conformité des improvisations de la machine au scénario, et utilise la connaissance a priori de la structure temporelle de l’improvisation pour introduire des mécanismes d’anticipation dans le processus de génération musicale, à la manière d’un musicien prévoyant la résolution d’une cadence.

Ce modèle peut être utilisé dans un processus compositionnel et est intrinsèquement « hors temps » puisqu’une de ses exécutions produit une séquence complète qui sera ensuite déroulée dans le temps. On présentera ensuite son intégration dans un cadre dynamique d’improvisation guidée. Dans ce contexte, une « réaction » ne peut pas être vue comme une réponse épidermique et instantanée mais doit tirer profit de la connaissance du scénario pour s’inscrire dans le temps. On considèrera donc une réaction comme une révision des anticipations à court-terme à la lumière de nouveaux évènements. La question de la conciliation entre planification long-terme et réactivité est abordée en modélisant l’improvisation guidée comme des appels dynamiques à des processus statiques, c’est-à-dire des appels « en temps » à un modèle compositionnel.

Pour pouvoir jouer avec des musiciens et en utilisant le son de ces musiciens, cette architecture propose également un module de rendu audio permettant d’improviser en réinjectant le son des co-improvisateurs, traité et transformé en temps-réel pour satisfaire le scénario d’improvisation, tout en étant synchronisé avec le temps réel de la performance, mesuré par un tempo possiblement fluctuant. Enfin, on montrera que la généricité de l'association « scénario / mémoire » et la possibilité de définir des scénarios dynamiques incitent à explorer d'autres directions que l'improvisation jazz. Des scénarios décrits avec un alphabet spécifique à un projet musical ou en termes de descripteurs audio-musicaux permettent d'aborder d’autres modes de guidage de l'improvisation musicale. De cette manière, les musiciens pour qui la définition d'un alphabet musical et la conception de scénarios d'improvisation font partie intégrante du processus créatif peuvent être impliqués en amont de la performance.

Ces recherches ont été menées en interaction constante avec des musiciens experts, en intégrant pleinement ces collaborations au processus itératif de conception des modèles et architectures. Ceux-ci ont été implémentés dans le système ImproteK, utilisé à de nombreuses reprises lors de performances avec des improvisateurs. Au cours de ces collaborations, les sessions d'expérimentations ont été associées à des entretiens et séances de réécoute afin de valider les modèles et de recueillir de nombreuses appréciations formulées par les musiciens pour valider et affiner les choix technologiques.

Guider/composer l'improvisation : sujets de recherche et contexte

Cette page présente les travaux réalisés au cours de ma thèse dans l'équipe Représentations Musicales à l'Ircam sous la direction de Marc Chemillier (EHESS) et Gérard Assayag (Ircam).

Liste de publications, séminaires, et performances.

Ces travaux proposent l’introduction de scénarios temporels pour guider/composer l’improvisation musicale homme-machine et étudient la dialectique entre planification/organisation et réactivité/spontanéité dans l’improvisation musicale interactive.

Les modèles génératifs et les modèles d'ordonnancement élaborés pendant ma thèse ont été implémentés dans le système d'improvisation ImproteK, en interaction étroite avec de nombreux musiciens improvisateurs au cours de performances, résidences, sessions de travail, et entretiens.


ImproteK (compilation of short excerpts) - Voir la vidéo sur Vimeo.

– Résumé du contexte et des contributions (CLIQUER POUR VOIR LE PARAGRAPHE)… –

Masquer le résumé du contexte et des contributions …

Masquer le résumé du contexte et des contributions …

Contexte
Ces recherches s’inscrivent dans la lignée des travaux sur l’improvisation automatique vue comme la navigation à travers une cartographie symbolique du jeu d’un musicien (Dubnov et al., 1998), et des applications de ces principes dans le système temps-réel d’improvisation OMax (Assayag et al., 2008; Lévy et al. 2012).

OMax a donné naissance à deux projets de recherche :

  • SoMax (Bonnasse-Gahot, 2014), s'intéressant à l'accompagnement automatique, et utilisant une écoute réactive pour conduire l’improvisation de la machine pas à pas en traduisant les entrées des musiciens co-improvisateurs en contraintes pour naviguer à travers un corpus,
  • ImproteK, dont il est question ici, introduisant une planification long-terme dans l’improvisation grâce à une structure de scénario.

Travaux
Les premiers modèles intégrant des contraintes temporelles et des connaissances a priori sur le contexte d'improvisation ont été élaborés et implémentés dans le premier prototype d’ImproteK (voir publ. (7)) au début de ma thèse. Ils introduisaient un formalisme portant différentes dimensions musicales selon les applications (des contraintes métriques en ce qui concerne le rythme, ou des progressions d’accords en ce qui concerne l’harmonie) en s'appuyant sur des travaux antérieurs sur la génération automatique de séquences d'accords (Chemillier 2001, 2004).

Une généralisation de ces concepts (accompagnée d'un travail sur la généricité des modèles et de leurs implémentations) a mené à l'introduction d'une structure formelle de scénario pour guider ou composer l'improvisation homme-machine en introduisant des mécanismes d'anticipation (voir publ. (1, 2)).

Le système a ensuite bénéficié d’une recherche plus large sur une architecture permettant la coordination temporelle de différentes « stratégies d’improvisation » au sein d’un même « plan d’improvisation » structuré par les occurrences d’évènements complexes (voir publ. (5, 6)). Cette architecture d’ordonnancement permet de concilier la spontanéité et la réactivité inhérentes à l’improvisation avec une organisation temporelle prédéfinie, comme cela peut être le cas avec la musique idiomatique.

Depuis 2011, le développement des modèles et du logiciel ImproteK est mené en parallèle avec un travail de terrain avec des musiciens professionnels pour collecter des jugements experts sur les productions du système (voir publ. (3, 4)).

Contributions

Problématique musicale : guider/composer l'improvisation

"Grille", "canevas", "trame, "plan", "référent", "scénario"… dans l'improvisation

Grille de Song for my father (Realbook).
Un exemple de basse de basso continuo baroque (Source) .
"Son organisé" pour l'improvisation, Varèse (source), voir également (Johnson 2012).

L'improvisation jazz ou blues s'appuie traditionnellement sur une grille définissant une progression harmonique ; la basse continue baroque laisse à l'interprète la réalisation de l'harmonie en improvisant à la main droite à partir d'une basse écrite pour la main gauche… L'existence d'un objet structuré temporellement et antérieur à la performance, non nécessairement décrit avec un vocabulaire harmonique, se retrouve également dans de nombreuses autres traditions improvisées, notamment dans la musique orientale. On peut citer à ce titre la musique classique d'Inde du Nord dans laquelle l'improvisation est guidée à plusieurs échelles : l'enchaînement de parties de longueurs différentes et ayant une identité propre dans l'exemple du râga en fournit un premier niveau ; l'évolution au sein de chacune de ces parties est ensuite construite à partir de descriptions détaillées en termes de mélodie, de vitesse ou de registre…

En sortant du champ musical, cette notion de structure formalisée peut se transposer à la commedia dell'arte dont le canevas décrit de manière minimale la séquence d'évènements et de situations que suivra l'intrigue de la représentation, ou encore à la tradition orale des contes populaires traditionnels ou des épopées pour lesquels le récit improvisé s'appuie sur une trame constituée d'unités élémentaires, parfois associées à un ensemble de formules consacrées, définissant ainsi une grammaire du récit.

L'idée de structure temporelle préexistante et guidant la performance improvisée trouve un écho dans les études cognitives traitant de l'improvisation, qui font émerger une notion de planification plus large que le simple canevas formel (car elle inclut l'ensemble des stratégies narratives de l'improvisateur) et son articulation avec les exigences de réactivité face à des situations imprévues qui caractérise l'improvisation. La notion de plan chez Sloboda (Sloboda 1982) ou Shaffer (Shaffer 1980) est définie comme un objet abstrait représentant la structure fondamentale de la performance, et laissant les dimensions plus fines être générées ou agencées en temps voulu pendant l'exécution. Dépassant la seule séquence de contraintes formelles, Pressing introduit la notion de référent (Pressing 1984) en tant que schéma sous-jacent guidant ou aidant la production du matériel musical. Ce schéma sous-jacent peut également s'étendre aux dimensions cognitives, perceptives ou émotionnelles, et sa relation avec le comportement improvisé peut être, entre autres, métaphorique, imitative, allégorique, ou antagoniste.

En s'appuyant sur l'existence de ces structures formelles antérieures à la performance improvisée, les premières contributions des travaux présentés sur cette page ont consisté à introduire une telle structure temporelle dans l’improvisation musicale homme-machine afin d'appréhender l'improvisation musicale pulsée et dite « idiomatique » (Bailey 1993) (c'est-à-dire se référant à un idiome particulier) en opposition à l'improvisation « non idiomatique » (c'est-à-dire « libre ») à laquelle étaient dédiés les modèles d'improvisation mentionnés dans le paragraphe précédent (présentant le contexte de recherche).

Dans le cas idiomatique, l'improvisateur est confronté à des questions d'acceptabilité au regard de l'idiome (par exemple la conformité des improvisations produites à une grille de jazz, à une structure métrique… ) qui se posent donc également à un système d'improvisation voulant se frotter à l'improvisation jazz, rock, blues… sans être pour autant limité à des règles impératives interdisant toute transgression et digression.

Par la suite, un travail d’abstraction et de généralisation des modèles a permis de proposer un cadre uni pour l’improvisation guidée dans un contexte idiomatique et pour l’improvisation composée dans un contexte propre à un projet musical, « libre » ou non.

Guider des processus génératifs pour l'improvisation musicale homme-machine

L'improvisation automatique fait ici référence à un système informatique capable de produire de la musique (typiquement une séquence de notes jouées par un synthétiseur ou une séquence de dates lues dans un fichier audio) en relation directe avec le contexte musical produit par une situation de concert.

Les modèles d'improvisation automatique élaborés au cours de ma thèse et implémentés dans le système d'improvisation ImproteK reposent sur un canevas préexistant à la performance. Dans ce cadre, le canevas guidant le modèle est représenté par une séquence de contraintes formelles pour l'improvisation que le système doit générer, et que nous appellerons scénario.

Le processus d’improvisation est modélisé comme le parcours d’une mémoire musicale structurée et annotée en suivant un chemin satisfaisant le scénario guidant l'improvisation, permettant ainsi d’exploiter les connaissances a priori sur la structure temporelle de l'improvisation pour intégrer une anticipation dans le processus de génération.

La navigation dans cette mémoire proposée par les modèles décrits ici assure la cohérence et l'homogénéité du résultat musical en exploitant les motifs communs aux deux séquences tout en étant capable de s'éloigner du matériau musical d'origine.

Un évènement de la mémoire musicale : entité générique manipulée par le modèle. Un évènement correspond à une unité de contenu musical (segment audio, notes midi, paramètres pour la synthèse sonore,…) labellisée par une étiquette appartenant à un alphabet pertinent pour le contexte d'improvisation (chiffrage d'accord, descripteur audio, alphabet arbitraire propre à un compositeur,…). C'est sur ce même alphabet que sera défini le scénario guidant l'improvisation.

Utiliser les connaissances a priori sur la structure temporelle de l'improvisation

Thématiques musique/science :
- Génération musicale guidée/composée
- Recherche de motifs, algorithmique du texte, automates

Modèle « Scénario / Mémoire »

Le processus d'improvisation guidée est modélisé comme l'articulation entre une séquence de référence et une mémoire structurée et annotée dans laquelle on viendra rechercher des séquences musicales qui seront transformées et réagencées pour créer les improvisations :

  • le scénario est une séquence symbolique de référence guidant l'improvisation et définie sur un alphabet adapté au contexte musical,
  • la mémoire est une séquence de contenus musicaux étiquetée par une séquence symbolique définie sur le même alphabet que le scénario. Elle peut être enregistrée au cours de la performance ou en amont (à partir d'un matériau musical analysé et annoté).

Dans ce contexte, « improviser » signifiera parcourir la mémoire pour collecter des séquences contiguës ou non et les concaténer pour créer une phrase musicale en suivant la séquence d'étiquettes imposée par le scénario. À la manière d'un improvisateur employant un motif qu'il a entendu ou joué lui-même dans un contexte différent mais présentant localement une progression commune avec le nouveau contexte dans lequel il joue, il s'agit donc de trouver des segments de la mémoire correspondant aux portions successives du scénario à suivre et de les enchaîner, si possible de manière « créative ».

– Quelques détails algorithmiques (CLIQUER POUR VOIR LE PARAGRAPHE)… –

Masquer les détails algorithmiques …

Masquer les détails algorithmiques …

Les séquences du scénario et de la mémoire étant différentes dans le cas général, il faut donc exploiter au mieux leurs motifs communs pour extraire et assembler des segments de la mémoire tout en évitant l'écueil de la simple recopie dans le cas où les deux séquences présentent une grande similarité.

Pour atteindre cet objectif, le modèle proposé dans (2) et amélioré dans (1) associe à chaque phase de génération :

  • l'anticipation en assurant la continuité avec le futur du scénario
  • la cohérence avec la logique musicale de la mémoire en assurant la continuité avec le passé de la mémoire. (Ce dernier point permet de créer des transitions musicales cohérentes même si les séquences collectées dans la mémoire pour créer l'improvisation ne sont pas contiguës.)
Exemple d'une étape de génération. Flèche rouge vers l'avant : évènement de la mémoire assurant une continuité avec le futur du scénario courant. Flèche noire vers l'arrière : évènement de la mémoire assurant une continuité avec le passé de la mémoire musicale.

Continuité avec le futur du scénario (figure précédente : flèches rouges vers l'avant)

A chaque instant de l'improvisation, les segments de la mémoire correspondant à une partie de la section du scénario qui reste à jouer sont des préfixes du suffixe courant du scénario.

L'algorithme recherchant ces évènements dans la mémoire reprend le schéma classique des algorithmes de recherche des occurrences d'un motif dans un texte en l'adaptant à l'indexation de tous les préfixes d'un motif dans un texte : comparaisons et appels à une fonction de suppléance pour décaler une fenêtre glissante afin d'éviter les comparaisons redondantes.

L'algorithme proposé utilise la fonction de suppléance introduite dans Morris & Pratt (Morris & Pratt 1970) pour bénéficier du lien direct entre la table des bords d'un mot et l'indexation de tous ses préfixes au sein de lui-même (Crochemore 2007). Cette information obtenue lors d'une phase d'analyse permet ensuite d'accélérer l'indexation de tous les préfixes du mot dans le texte choisi comme corpus.

Cet algorithme s'exécute en temps Θ(m) et n'excède pas 2*m-1 comparaisons et la phase d'analyse s'exécute en temps Θ(sT), avec m la longueur de la mémoire, et sT la longueur du scénario restant à jouer au temps T (suffixe du scénario original).

Continuité avec le passé de la mémoire musicale (figure précédente : flèches noires vers l'arrière)

La recherche présentée dans le paragraphe ci-dessus est associée avec une indexation des évènements de la mémoire présentant un passé commun avec le dernier élément joué. Cette information est obtenue grâce à la structure d'automate choisie pour apprendre la mémoire musicale : l'oracle des facteurs (Allauzen et al. 1999, Lefebvre et al. 2002). Cet automate fini déterministe reconnaît (un peu plus que) le langage défini par l'ensemble des facteurs du mot sur lequel il est construit, et son algorithme de construction est incrémental et linéaire en temps et en mémoire.

Comme Omax et les autres systèmes utilisant cet automate pour l'improvisation musicale, il n'est pas utilisé ici pour effectuer une recherche de motifs à proprement parler : on utilise certains de ses liens de construction pour obtenir des informations sur les similarités internes à la mémoire musicale. Celles-ci sont utiles à deux titres :

  • elles sont combinées avec l'algorithme décrit précédemment pour choisir les endroits de la mémoire qui présentent une continuité avec le futur du scénario et dont le passé (les évènements précédents) correspondent à ce qui a été joué,
  • elles permettent également de chaîner des séquences non contiguës et de suivre des chemins non-linéaires tout en préservant la continuité du discours musical.

La continuité relative au passé de la mémoire est donc assurée en étendant les heuristiques pour l'improvisation, l'harmonisation, et l'arrangement proposées dans une première version des modèles (7), qui adaptaient à la problématique de l'improvisation guidée les méthodes de navigation introduites dans (Assayag & Dubnov 2004, Assayag & Bloch 2007), dédiées à l'improvisation libre.

Improviser : articuler un scénario et une mémoire annotée en intégrant anticipation et digression dans le processus de génération. Exemple de deux phases de génération (noire puis rouge). Anticipation (étapes 1), trouver un évènement de la mémoire assurant un futur commun avec le scénario tout en maintenant une continuité avec le passé de la mémoire (cadres noirs pour l'enchaînement entre la phase noire et la phase rouge). Fidélité ou digression (étapes 2), recopier les séquences de la mémoire (exemple de la phase noire) ou utiliser une analyse de ses similarités internes pour suivre des chemins équivalents mais non linéaires (exemple de la phase rouge) afin de pouvoir s'éloigner du matériau musical original tout en restant cohérent.

– Résumé : pourquoi introduire un scénario ? (CLIQUER POUR VOIR LE PARAGRAPHE)… –

Masquer le résumé…

Masquer le résumé…

A un premier niveau, l'introduction d'une structure de scénario dans le modèle présenté ci-dessus permet d'assurer l'acceptabilité de ce que produit le système eu égard à des normes stylistiques et à des valeurs esthétiques implicitement associées aux idiomes utilisés (voir le paragraphe suivant). L'analyse des similarités internes de la mémoire évoquée plus haut permet également de recontextualiser des enchaînements et de tuiler des séquences présentant un passé musical commun afin de produire des séquences nouvelles qui ne sont pas présentes en l'état dans la mémoire musicale originale.

Ensuite, la connaissance du futur que fournit le scénario permet d'introduire des mécanismes d'anticipation pour améliorer la qualité des improvisations produites, ce qui est d'autant plus pertinent dans le cas d'improvisations « hybrides » (voir le paragraphe « hybridation »).

Enfin, on montrera dans une section suivante comment cette structure de scénario permet d'aller au-delà de simples critères de conformité pour ouvrir à la composition de performances improvisées.

Exploiter la connaissance du futur et assurer la conformité de l'improvisation produite

Dans ce premier exemple d'improvisation jazz issu d'une session d'improvisation avec Rémi Fox, le positionnement de la pulsation et des harmonies par rapport aux phrases jouées par le musicien est enregistré pendant la performance de sorte que la musique captée peut être réutilisée immédiatement par le modèle présenté précédemment. Le scénario correspond ici à une grille d'accords, et la mémoire est uniquement constituée de la musique enregistrée au fil de la session.

Sax improvisations on Rent Party, with Rémi Fox - Voir la vidéo sur Vimeo.

« Hybridation »

On appelle ici « hybridation » le fait d'utiliser le modèle pour improviser sur un scénario donné en utilisant une mémoire constituée d'une ou plusieurs séquences différentes mais décrites avec le même alphabet musical. En reprenant l'analogie avec un musicien réutilisant un « plan » qu’il a entendu ou joué lui-même dans un autre contexte qui présentait des similarités locales, l'anticipation rendue possible par la connaissance du scénario permet de générer des séquences musicales plus cohérente qu'un suivi pas à pas du scénario.

L'idée est simple : par exemple, pour jouer un II-V-I dans le cas d'un guidage harmonique, les récurrences de cadences particulières dans les progressions harmoniques de jazz permettront de produire une narration plus crédible en cherchant un II inscrit dans un II-V-I (ou à défaut un II-V puis un V-I), plutôt qu'en cherchant à concaténer des évènements étiquetés II, puis V, puis I recherchés indépendamment.

– Plus d'éléments sur l'hybridation (CLIQUER POUR VOIR LE PARAGRAPHE)… –

Masquer les détails algorithmiques …

Masquer les détails algorithmiques …

La figure ci-dessous donne une représentation simplifiée (réduite aux plus longs motifs communs) : improviser sur la grille de Blue in green (Scénario) en utilisant les plus longues portions d'Autumn Leaves (Mémoire).
Improviser sur Blue in Green en utilisant des « plans » d'Autumn Leaves. Chaque flèche représente l'état le plus éloigné dans la grille de Blue in Green pouvant être atteint à partir de son point de départ en jouant un fragment d'Autumn Leaves. En gras : nombre d'occurrences du motif dans la mémoire, entre parenthèses : transposition en demi-tons de ces motifs.

Pour illustrer ce processus, la vidéo ci-dessous présente un extrait de concert avec Bernard Lubat réalisé avec un des premiers prototypes (MIDI) du système. Celui-ci est utilisé pour jouer thème et variations, puis un chorus sur un scénario défini par une grille harmonique. Il utilise une mémoire musicale très hétérogène constituée du matériau musical enregistré au cours de la performance, et d'un ensemble d'interprétations de standards de jazz, ballades, morceaux de musique brésilienne,… par différents interprètes.

Hybrid improvisation using an online and offline heterogeneous memory, with Bernard Lubat - Voir la vidéo sur Vimeo.

La vidéo ci-dessous présente un court extrait d'entretien sur l'hybridation avec Bernard Lubat lors d'une session de réécoute d'un solo généré sur la grille de All the things you are en utilisant une mémoire provenant de son morceau D'ici d'en bas.

Court extrait d'entretien sur l'hybridation avec B. Lubat, premier prototype midi du système - Voir la vidéo sur Vimeo.

H. Sellin playing with B. Holiday, E. Piaf, and E. Schwarzkopf - Voir la vidéo sur Vimeo.

La vidéo ci-dessus, extraite du finale d'une improvisation d'Hervé Sellin avec ImproteK (contrôlé par G. Bloch) sur "The Man I Love", illustre une situation dans laquelle ces mécanismes d'hybridation sont mis à profit (voir la version complète). Le scénario donné au système est la grille harmonique de la chanson, et sa mémoire musicale contient:

  • Billie Holiday chantant "The Man I Love",
  • Edith Piaf chantant "Mon dieu" et "Milord",
  • Elisabeth Schwarzkopf chantant "Mi tradì quell'alma ingrata" (Mozart, Don Giovanni), et "Tu che del gel sei cinta" (Puccini, Turandot)

Improvisation guidée en tant qu'appels dynamiques à un modèle compositionnel

Thématiques musique/science :
- Combiner guidage long-terme et réactivité dans l'improvisation
- Systèmes à évènements discrets, systèmes réactifs, ordonnancement, architecture hybride « online/offline »

Dans le cadre de l'improvisation guidée par un scénario, une « réaction » ne peut pas seulement être vue comme une réponse épidermique et instantanée mais doit tirer profit de la connaissance de ce scénario pour s’inscrire dans le temps. Le principal intérêt de l'introduction d'un scénario est en effet d'utiliser cette structure temporelle pour anticiper la génération, c'est-à-dire utiliser la connaissance de ce qui est attendu pour le futur pour améliorer la génération du temps présent. Qu'une réaction soit déclenchée par un contrôle utilisateur, par des règles impératives propres à un projet musical, ou par l'analyse du jeu live d'un musicien, elle est vue ici comme la révision d'anticipations du système à la lumière de nouveaux évènements ou contrôles.

La question de la conciliation entre organisation/planification long-terme et réactivité est abordée en modélisant l’improvisation guidée comme des appels dynamiques à des processus statiques, c’est-à-dire des appels « en temps » à un modèle compositionnel. Le modèle de génération guidée présenté précédemment peut en effet être utilisé à des fins compositionnelles (voir une section suivante), et est intrinsèquement « hors temps » puisqu’une exécution produit une séquence musicale complète qui sera ensuite déroulée dans le temps.

Anticipation et réactivité : embarquer un modèle « compositionnel » dans une architecture réactive

« Réagir » revient donc ici à composer une nouvelle structure sur une fenêtre temporelle spécifique au-delà du temps de la performance, ré-écrivant possiblement le matériau précédemment généré. L'architecture présentée dans cette section gère les requêtes dynamiques envoyées au modèle pour générer et affiner les anticipations en réaction à des changements de paramètres de contrôle ou du scénario lui-même, tout en préservant son horizon long-terme.

– Quelques détails sur l'ordonnancement (CLIQUER POUR VOIR LE PARAGRAPHE)… –

Masquer les détails sur l'ordonnancement…

Masquer les détails sur l'ordonnancement…

L'architecture dans laquelle le modèle est embarqué se situe à la frontière entre les paradigmes offline et online concernant la gestion du temps et les stratégies d'ordonnancement et de planification des systèmes musicaux informatiques. D'un côté, offline correspond aux systèmes de « composition assistée par ordinateur » (Assayag 1998), dans lesquels les structures musicales sont calculées en suivant une stratégie du « meilleur effort » et pour lesquels le rendu musical n'implique qu'une planification statique. De l'autre, online correspond aux systèmes dédiés à la performance (Dannenberg 1989) où le temps du calcul fait partie du temps du rendu musical.

Par soucis de concision (et loin de tout anthropomorphisme) on appellera :

  • « anticipations » l'état courant du matériau musical généré au-delà du temps de la performance,
  • « intentions » l'état courant du scénario et de paramètres secondaires de génération au-delà du temps de la performance.

Dans ce cadre, on appellera « réaction » une altération des intentions déclenchant l'envoi d'une requête au modèle de génération pour produire un fragment d'improvisation commençant à une position donnée du scénario (supérieure ou égale au temps courant de la performance). Les différentes problématiques musicales soulevées par cette vision sont discutées dans (5).

Les anticipations évolutives du système résultent donc d'appels successifs ou concurrents au modèle présenté précédemment. Comme illustré sur la figure ci-dessous, un nouveau fragment d'improvisation généré est mis en mémoire alors que l'improvisation est en train d'être jouée.

Réaction en tant que réécriture des « anticipations ». tp: temps courant de la performance, tg: temps anticipé de la génération, q: date concernée par une réaction lançant une nouvelle requête au modèle afin de réécrire les anticipations à la lumière des évolutions des « intentions ».

Cette architecture repose sur un agent (improvisation handler, voir publ. (5)) embarquant la mémoire, le scénario, le modèle de génération. Son architecture multithread gère les accès concurrents à ces données partagées. Son rôle est de mettre « en temps » le modèle « hors temps » en traduisant les évènements extérieurs en requêtes concurrentes pour générer des fragments d'improvisation.

Cet agent contient également une trace d'exécution qui enregistre l'historique des chemins parcourus dans la mémoire et des paramètres des dernières exécutions du modèle. De cette manière, quand il doit revenir sur des anticipations produites auparavant, le système se souvient de ses exécutions antérieures pour maintenir la cohérence entre les phases de génération successives associées à des requêtes recouvrant des intervalles de temps qui se chevauchent.


On notera que cette architecture propose un modèle pour répondre à la question « comment réagir ? », mais ne traite pas les questions « à quoi réagir et avec quelle réponse ? », estimant qu'il serait vain d'essayer de capturer des mécanismes universels de réactivité dans l'improvisation.

Le modèle définit des mécanismes abstraits de réaction et décrit comment effectuer les appels concurrents au module de génération et au module de rendu. Il choisit d'offrir la généricité permettant non seulement de définir des alphabets et scénarios (voir section « généricité »), mais également de composer la réaction de telle sorte qu'elle puisse être déclenchée :

  • par un opérateur manipulant des paramètres personnalisés (comme dans une partie des vidéos présentées sur cette page où un opérateur joue sur les zones de la mémoire musicale, ou des paramètres de filtrage choisis)
  • par une réactivité composée définissant des règles propres à un projet musical.

« Réaction » en tant que réécriture des « anticipations »

La vidéo ci-dessous simule différentes situations de performance pour montrer les processus en action derrière l'interface. A chaque réaction du système à une modification de ses « intentions » (du scénario ou d'une autre dimension musicale), des « anticipations » prenant en compte le nouveau contexte sont ré-écrites et remplacent les anticipations précédemment générées alors que le système est en train de jouer.

Offline simulation behind the interface: rewriting the anticipations - Voir la vidéo sur Vimeo.

(Les travaux présentés dans cette section ont été menés avec la collaboration de Dimitri Bouche et de Jean Bresson dans le cadre de la nouvelle architecture de l'environnement OpenMusic (Bresson et al. 2011). Voir publ. (5).)

Jouer avec le musicien, et avec le son du musicien

Thématiques musique/science :
- Improviser en ré-injectant de l'audio « live » et en s'adaptant à un tempo non-métronomique
- Synchronisation de processus concurrents, programme réactif, suivi de tempo, traitements du signal audio

Le modèle « scénario / mémoire », comme la plupart des modèles manipulant des descriptions symboliques des séquences musicales, procède à une association symbolique entre les unités du scénario et celles de la séquence symbolique décrivant la mémoire. Il s'agit donc ensuite de procéder à l'association temporelle élastique entre les positions correspondantes dans une mémoire audio « live » et le temps réel de la performance, mesuré par un tempo possiblement fluctuant et donc une pulsation non nécessairement métronomique.

Jouer avec le son « live »

– Quelques détails sur l'architecture audio (CLIQUER POUR VOIR LE PARAGRAPHE)… –

Masquer les détails sur l'architecture audio…

Masquer les détails sur l'architecture audio…

Nous proposons pour cela une architecture audio (voir publ. (1)) dans laquelle le jeu des musiciens co-improvisateurs est enregistré, segmenté par des marqueurs temporels de pulsation, et indexé en temps-réel au sein d'une partition dynamique (voir publ. (6)). Cette partition dynamique est un programme réactif chargé de synchroniser des processus musicaux et leurs rendus avec les entrées musicales et les entrées de contrôle venant de l'environnement, en particulier une source extérieure de pulsation non-métronomique pour s'adapter au tempo fluctuant des co-improvisateurs humains.

Chaque unité d'improvisation symbolique générée par le modèle est associée à la date correspondante à lire dans la mémoire audio enregistrée. Le système peut donc ainsi improviser en réinjectant le matériau audio « live », qui est traité et transformé pour satisfaire le scénario et pour être joué de manière synchrone avec une pulsation humaine.

Modèle de génération : mapping symbolique, restitution audio : mapping temporel.

Différentes voix constituant l'improvisation de la machine sont définies comme différentes instances concurrentes d'un même processus générique. Comme l'illustre la figure ci-dessus, ce processus envoie continûment les positions à lire dans la mémoire audio (enregistrée en temps réel) en passant par un vocodeur de phase (SuperVP, Depalle & Poirot 1991, Röbel 2003) permettant la re-synthèse de sons avec des modifications comme l'étirement temporel, la transposition, différents filtrages,… etc.

Lorsqu'à deux temps successifs de l'improvisation générée correspondent deux unités non consécutives de la mémoire audio, un effet de « crossfade » est utilisé entre une nouvelle voix d'improvisation et la précédente, qui est ensuite stoppée après ce relai.

Synchronisation avec une pulsation non-métronomique

– Quelques détails sur la synchronisation (CLIQUER POUR VOIR LE PARAGRAPHE)… –

Masquer les détails sur la synchronisation…

Masquer les détails sur la synchronisation…

La synchronisation avec l'environnement et la pulsation non-métronomique est réalisée en associant les stratégies de synchronisation de la partition dynamique mentionnée précédemment et le vocodeur de phase qui permet l'étirement temporel avec préservation de l'attaque (Röbel 2003).

Le programme réactif qu'est la partition dynamique est implémenté en utilisant le langage de programmation associé au système Antescofo (Cont 2008, Echeveste et al. 2013). Il contient des variables spécifiques dont les mises à jour sont écoutées de la même manière que des évènements musicaux provenant d'un musicien durant une performance de musique mixte avec suivi automatique de partition.

De cette manière, le système peut se synchroniser sur les mises à jours de ces variables de la même manière qu'il suivrait la pulsation d'un musicien. Quand une telle variable est déclarée en renseignant une connaissance a priori sur la périodicité de ses mises à jour, une nouvelle estimation de tempo est effectuée à chaque fois qu'elle est modifiée en utilisant les algorithmes de Large (Large 2001, Large & Jones 1999).

L'adaptation dynamique au temps réel de la performance de la vitesse de lecture dans la mémoire est donc effectuée en liant une telle variable de synchronisation à la source extérieure de pulsation, comme cela est schématisé sur la figure ci-dessous.

Estimation de tempo, synchronisation de l'improvisation audio avec une pulsation non-métronomique.

(Les travaux présentés dans cette section ont été menés avec la collaboration de José Echeveste, Jean-Louis Giavitto et l'équipe MuTant dans le cadre de l'élaboration du langage de programmation associé au système Antescofo. Voir publ. (6))

Un exemple d'improvisation audio synchronisée

La vidéo ci-dessous compile plusieurs improvisations « scat » avec Bernard et Louis Lubat sur des scénarios de progressions harmoniques et/ou de structures métriques. Elle illustre les processus assurant la ré-injection synchronisée de l'audio enregistré au cours de la performance présentés dans les paragraphes précédents.

Pour toutes ces sessions d'improvisation, le système débute avec une mémoire musicale vide et improvise en utilisant le matériau audio enregistré au fil de la performance, traité et transformé en temps réel de manière à ce qu'il satisfasse le scénario tout en étant réactif à des contrôles extérieurs, et synchronisé avec le tempo humain non-métronomique.

Scat improvisation with synchronized audio rendering, with B. and L. Lubat - Voir la vidéo sur Vimeo.

Scénarii, scénarios... et « méta-composition »

Thématiques musique/science :
- De la conformité à une structure idiomatique à la composition de performances improvisées :
proposer un cadre de composition (à l'échelle du scénario) et de « méta-composition » (à l'échelle de l'alphabet et de ses propriétés)
- Architecture générique et modulaire, mise en place d'un protocole et collaborations avec des musiciens experts

Un protocole de composition d'alphabets et de scénarios pour guider l'improvisation

– « Méta-composition » (CLIQUER POUR VOIR LE PARAGRAPHE)… –

Masquer « Méta-composition » …

Masquer « Méta-composition » …

Dans les exemples illustrant les sections précédentes, le guidage par scénario et l'architecture temporelle sont utilisés pour assurer la conformité des improvisations de la machine à des cadres donnés. La généricité de l'association « scénario / mémoire » et la possibilité de définir des scénarios dynamiques incitent à explorer d'autres directions que l'improvisation jazz pour laquelle le système a été initialement conçu. Des scénarios décrits avec un alphabet spécifique à un vocabulaire musical donné (en termes de descripteurs audio-musicaux par exemple, ou avec un alphabet arbitraire) permettent d'aborder de nouveaux modes de guidage et de composition de l'improvisation musicale. Les travaux présentés dans cette section ont pour objectif d'impliquer les musiciens dans le « méta-niveau » de composition que constitue la conception d'un instrument interactif pour l'improvisation évoqué par Rowe dans l'extrait ci-dessous.

"[Interactive music systems] become a ligature connecting improvisation to notated composition, as the same processes used to govern the notated music can be employed to generate new improvisations in real time. This possibility is an expansion of the domain of composition […]. By delegating some of the creative responsibility to the performers and a computer program, the composer pushes composition up (to a meta-level captured in the processes executed by the computer) and out (to the human performers improvising within the logic of the work). An interesting effect of this delegation is that it requires a very detailed specification of the musical decisions needed to produce a computer program at the same time that the composer cedes a large measure of control over musical decision-making to the human improviser."
(Rowe 1999)

Un travail sur la généricité des modèles et de leurs implémentations au sein d'une architecture logicielle modulaire a permis d'élaborer le cadre pour la composition de sessions d'improvisation résumé dans la figure ci-dessous (voir publ. (1)). Dans ce cadre, des musiciens pour qui la définition d'un alphabet musical et la conception de scénarios d'improvisation font partie intégrante du processus créatif peuvent être impliqués en amont de la performance, comme c'est le cas dans les exemples donnés dans le paragraphe suivant.

Un protocole pour la composition de performances improvisées ou de pièces musicales à l'échelle de la structure temporelle (scénario).

Généricité : utiliser les mêmes modèles formels pour explorer différents cadres musicaux

- Exemple : scénario = forme abstraite composée utilisant un alphabet arbitraire

L'improvisation suivante, préparée avec Rémi Fox pour le festival de Montreux, est construite sur une forme abstraite. Le scénario décrit simplement une pulsation, une structure d'entrées de voix, de répétitions, reprises et transpositions, et définit deux voix pour la machine (accompagnement et solo) avec pour objectif de créer une texture répétitive et mouvante.

Ici encore, le système débute la session avec une mémoire musicale vide et improvise les différentes voix en ré-injectant l'audio enregistré pendant la performance de manière à suivre le scénario, tout en étant réactif à des contrôles extérieurs.

Structured improvisation on a composed abstract form, with Rémi Fox - Voir la vidéo sur Vimeo.

- Exemple : scénario = profil composé d'intensité, brillance, et mode de jeu

La vidéo suivante montre les premières expériences menées avec Michelle Agnès, dont les travaux mêlent improvisation et composition, et dont la musique improvisée est structurée par un plan composé selon plusieurs dimensions musicales. Le scénario est ici un profil couplé d'intensité, brillance, et mode de jeu. Il est composé de telle sorte que l'improvisation générée alterne entre prolongation et contrepoint du geste musical.

Structured improvisation, scenario defined on a content-based alphabet, with Michelle Agnes - Voir la vidéo sur Vimeo.

- Exemple : scénario = profil extrait d'une cible audio

Ce dernier exemple utilise une cible audio en tant que scénario. Le scénario correspond à une analyse réalisée sur la bande sonore d'une scène de film sans musique (descripteurs audio : centroïde spectral et rugosité). Ce profil est utilisé pour guider la navigation à travers la mémoire musicale choisie: Atmosphères de G. Ligeti, et la séquence générée remplace la piste sonore originale.

Starwosphères - Voir la vidéo sur Vimeo.

Validation au travers de performances et entretiens

Performances et sessions d'expérimentation

Concert avec Rémi Fox et Denis Beuret, Montreux jazz festival, juillet 2015.

Ces recherches ont été menées en interaction constante avec des musiciens improvisateurs, en intégrant pleinement les interactions et les échanges au processus itératif de développement des modèles et du système.

Le logiciel ImproteK implémentant les modèles a été utilisé sur scène et lors de séances de travail avec de nombreux musiciens improvisateurs experts, et en explorant à leurs côtés autant d'idiomes et de répertoires différents :

Bernard Lubat et la Cie Lubat (« chansons enjazzées », jazz, et improvisation libre), Jovino Santos Neto (jazz et musique brésilienne), Kilema (cithare malgache), Charles Kely (jazz et musique malgache), Louis Mazetier (piano stride), Michelle Agnès (création contemporaine), Rémi Fox (jazz, funk, et improvisation générative), Hervé Sellin et Georges Bloch (jazz et création contemporaine)

Vidéos de performances et séances de travail

Concert avec Bernard Lubat, Festival Novart, Bordeaux, novembre 2013.
Session d'improvisation avec Jovino Santos Neto (Hermeto Pascoal grupo), CNSMDP, mai 2013.

Entretiens et enquête

– CLIQUER POUR VOIR LE PARAGRAPHE … –

Masquer le paragraphe…

Masquer le paragraphe…

Le schéma général des modèles présentés est motivé par la spécificité de l'approche basée sur des métaphores de la réalité de l'improvisation : les choix technologiques sont validés et affinés en interaction avec des musiciens professionnels au cours de séances d'expérimentation effectuées dans le cadre d'une enquête ethnomusicologique mêlant sessions de travail et situations de concert.

Nous avons en particulier recueilli de nombreuses appréciations formulées par Bernard Lubat sur les résultats produits par la machine qui constituent autant de « jugements de goût » (voir publ. (3)). Ceux-ci traitent d'aspects purement idiomatiques comme le phrasé ou la justesse du tempo, et plus généralement traduisent une pensée esthétique concernant les notions d'erreur et de transgression des limites de ce qui est acceptable ou non au regard de l'idiome.

Court extrait d'entretien sur l'hybridation avec B. Lubat, premier prototype midi du système - Voir la vidéo sur Vimeo.

« Guider l'improvisation » vs. « Improvisation et désautomatisation »

– CLIQUER POUR VOIR LE PARAGRAPHE … –

Masquer le paragraphe…

Masquer le paragraphe…

La démarche « d'observation participante » évoquée dans le paragraphe précédent souligne un autre aspect des recherches présentées : tenter de capturer certains aspects de l'improvisation musicale idiomatique par la modélisation informatique. Dans cette optique, le système ImproteK a été impliqué au premier plan dans des projets de recherche aux thématiques plus vastes, comme les ateliers inattendus dans le cadre du projet Mons capitale de la culture 2015.

« Penser et pratiquer l'improvisation offre l'opportunité de s'interroger sur les rapports entre les automatismes que l'on acquiert dans tous les domaines de l'existence – les automatismes comportementaux aussi bien que mentaux – et la possibilité de dépasser ces automatismes : de se désautomatiser. Il s'agira de critiquer la limite ténue entre l'automatisation, la répétition et la désautomatisation – et de guetter l'apparition de la singularité. »
Ateliers innatendus, IRI

Le thème du festival des rencontres inattendues musique et philosophie de Tournai est la rencontre de l’improvisation et de l’annotation en musique et en philosophie. D'octobre 2014 à août 2015, une école itinérante a été organisée au cours d’ateliers à Mons, Lille et Tournai, alliant des temps de pratique musicale, des temps de réflexion théorique et de discussion, et des temps de conception de dispositifs numériques d’aide à l’improvisation collective et à l'annotation. Elle s'est terminée lors d'un académie d'été à Tournai durant les quatre jours précédant le festival.

En plus de l'improvisation automatique, ImproteK a été mis en oeuvre pour conduire des analyses automatiques de la musique improvisée et en produire des représentations visuelles afin de développer un dispositif de répétition pour le musicien et de représentation pour le public. Au sein de ce projet, le système a été enrichi de systèmes de balisage des enregistrements, d'annotation en réseau, et de catégorisation des improvisations afin d'ouvrir de nouvelles pratiques de jeu interactives pour les musiciens et pour ouvrir de nouvelles pratiques d'écoute active et critique pour les spectateurs.

Une improvisation collective dans le cadre du projet penser/improviser pour le festival de jazz Mons capitale de la culture 2015.
Plan de scène intégrant le système ImproteK enrichi d'un système d'analyse et d'annotation participative temps-réel en réseau projeté pendant les improvisations, Ateliers Inattendus (IRI).

Références

Publications

Liste complète des publications, séminaires invités, démonstrations, performances.

– Cliquer pour voir les publications citées sur cette page … –

Masquer …

Masquer …

  • (1) Nika Jérôme, Chemillier Marc, Assayag Gérard, "Introducing scenarios into human-computer music improvisation", ACM Computers in Entertainment (2017).
  • (2) Nika Jérôme, Chemillier Marc, "Improvisation musicale homme-machine guidée par un scénario temporel", Technique et science informatique, vol. 33, n° 7-8 , 2014.
  • (3) Chemillier Marc, Nika Jérôme, "'Étrangement musical': les jugements de goût de Bernard Lubat à propos du logiciel d'improvisation ImproteK", Cahiers d'ethnomusicologie, n° 28, 2015 (accepté, à paraître).
  • (4) Chemillier Marc, Pouchelon Jean, Andre Julien, Nika Jérôme, "La contramétricité dans les musiques traditionnelles africaines et son rapport au jazz", Anthropologie et société, vol. 38, no. 1, 2014. (Paper)
  • (5) Nika Jérôme, Bouche Dimitri, Bresson Jean, Chemillier Marc, Assayag Gérard, "Guided improvisation as dynamic calls to an offline model", Sound and Music Computing conference SMC 2015, Maynooth, 2015. (Paper)
  • (6) Nika Jérôme, Echeveste José, Chemillier Marc, Giavitto Jean-Louis, "Planning Human-Computer Improvisation", Proceedings of the International Computer Music Conference ICMC 2014, Athens, 2014. (Paper)
  • (7) Nika Jérôme, Chemillier Marc, "ImproteK, integrating harmonic controls into improvisation in the filiation of OMax", Proceedings of the International Computer Music Conference ICMC 2012, Ljubljana, 2012, pp. 180-187. (Paper)

Quelques références

Pour une bibliographie complète et un état de l'art des modèles et systèmes dédiés à l'improvisation, voir publication (1).

– Cliquer pour voir les références citées sur cette page … –

Masquer …

Masquer …

  • Assayag G. (1998). ‘‘Computer Assisted Composition Today‘‘. 1st symposium on music and computers, Corfu.
  • Assayag G., Bloch G., Chemillier M., Cont A., Dubnov S. (2006). ‘‘OMax brothers : a dynamic topology of agents for improvization learning’’. 1st ACM workshop on audio and music computing multimedia.
  • Assayag G., Dubnov S. (2004). ’’Using factor oracles for machine improvisation’’. Soft Computing 8, 9.
  • Assayag G., Bloch G. (2007). ’’Navigating the oracle: A heuristic approach’’. Proceedings of the International Computer Music Conference, Copenhagen.
  • Allauzen C., Crochemore M., Raffinot M. (1999). ’’Factor oracle: A new structure for pattern matching’’. SOFSEM 99: Theory and Practice of Informatics. Springer, 758-758.
  • Bailey D. (1993). ’’Improvisation: its nature and practice in music’’. Da Capo Press.
  • Bonnasse-Gahot L. (2014). ’’An update on the SoMax project’’. Internal Report, IRCAM.
  • Bouche D., Bresson J. (2015). ’’Planning and Scheduling Actions in a Computer-Aided Music Composition System’’. Proceedings of the Scheduling and Planning Applications workshop (SPARK) Jerusalem, Israel.
  • Bresson J., Agon C., Assayag G. (2011) ’’OpenMusic. Visual Programming Environment for Music Composition, Analysis and Research’’. ACM MultiMedia (OpenSource Software Competition), Scottsdale, AZ, USA, 2011.
  • Chemillier M. (2004). ‘‘Toward a formal study of jazz chord sequences generated by Steedman’s Grammar’’. Soft Computing, vol. 8, num. 9.
  • Chemillier M. (2001). ‘‘Improviser des séquences d’accords de jazz avec des grammaires formelles’’. Actes des Journées d’informatique musicale.
  • Cont A. (2008). ‘‘Antescofo: Anticipatory Synchronization and Control of Interactive Parameters in Computer Music‘‘. Proceedings of the International Computer Music Conference, Belfast.
  • Crochemore M., Hancart C., Lecroq T. (2007). ‘‘Algorithms on strings‘‘. Cambridge University Press.
  • Dannenberg R. (1989). ‘‘Real-Time Scheduling and Computer Accompaniment‘‘. Current Directions in Computer Music Research, MIT Press (Ed.), Vol. 225-261.
  • Depalle P., Poirot G. (1991). ‘‘A modular system for analysis, processing and synthesis of sound signals‘‘. Proceedings of the International Computer Music Conference.
  • Dubnov D., Assayag G., and El-Yaniv R. (1998). ‘‘Universal classification applied to musical sequences‘‘. Proceedings of the International Computer Music.
  • Echeveste J., Giavitto J.-L., Cont A. (2013). ‘‘A Dynamic Timed-Language for Computer-Human Musical Interaction‘‘. Research report RR-8422. INRIA.
  • Johnson S. (2012). ‘‘The New York Schools of Music and the Visual Arts‘‘. Routledge.
  • Large E. W., Jones M. R. (1999). ‘‘The dynamics of attending: How people track time-varying events‘‘. Psychological review 106, 1.
  • Large E. W. (2001). ‘‘Periodicity, pattern formation, and metric structure‘‘. Journal of New Music Research 30, 2.
  • Lefebvre A., Lecroq T. (2000). ‘‘Computing repeated factors with a factor oracle‘‘. Proceedings of the 11th Australasian Workshop On Combinatorial Algorithms.
  • Lefebvre A., Lecroq T., Alexandre J. (2002). ‘‘Drastic improvements over repeats found with a factor oracle‘‘.
  • Lévy B., Bloch G., Assayag G. (2012). ‘‘OMaxist dialectics’’, Proceedings of the international conference on New Interfaces for Musical Expression.
  • Morris J. H., Pratt V. R. (1970). ‘‘A linear pattern-matching algorithm‘‘.
  • Pressing J. (1984). ‘‘Cognitive processes in improvisation‘‘. Advances in Psychology.
  • Sha ffer L. H. (1980). ‘‘26 Analysing Piano Performance: A Study of Concert Pianists‘‘. Advances in Psychology.
  • Sloboda J. A. (1982). ‘‘Music performance. The psychology of music‘‘.
  • Röbel A. (2003). ‘‘A new approach to transient processing in the phase vocoder‘‘. Proceedings of the 6th Int. Conf. on Digital Audio E ects (DAFx03).
  • Rowe R. (1999), ‘‘The aesthetics of interactive music systems‘‘. Contemporary music review, vol. 18, no. 3.
 


nika/improvisation_guidee.txt · Dernière modification: 2019/06/22 11:38 par Jérôme Nika