Vous êtes sur la page 1sur 24

Programmer un neurone musical

Vers une (re)construction deleuzienne de la phrase musicale

Antoine Goudreau

Le logiciel intitulé le neurone musical, programmé avec l’environnement


de programmation visuelle Max/MSP, est un outil de composition, ou plutôt
de co-comprovisation avec l’ordinateur.
En plus de Max/MSP, j’ai eu recours aux librairies Bach, Cage et Dada
développées par Andrea Agostini et Daniele Ghisi 1 . Pour la transcription
musicale de l’improvisation, je fait appel à l’objet [fiddle∼], basé sur l’objet
éponyme de Miller Puckette et porté vers Max d’architecture 64-bit par Vol-
ker Böhm 2 . Pour la comparaison de parcours mélodique, j’ai utilisé l’objet
[zsa.dist] de la librairie zsa.descriptors de Mikhail Malt et Emmanuel Jour-
dan 3 .
La genèse du patch est survenu de la volonté de demander non pas com-
ment l’ordinateur peut aider le processus compositionnel (par exemple, par
les procédés bien adaptés au fonctionnement de l’ordinateur comme des opé-
rations arithmétiques liées à la musique sérielle ou à la musique spectrale),
mais plutôt, comment la composition assistée par ordinateur (CAO) peut se
rapprocher d’un processus créatif organique.
Dans cette démarche, j’y inclut l’improvisation, l’erreur humaine et l’er-
reur de la machine, ou même l’imprévisibilité du bogue ou du glitch par l’en-
tremise d’un « séquenceur dynamique ». À ce sujet, l’Institut de recherche
et coordination acoustique/musique (IRCAM), l’organisme à l’origine des
1. https://www.bachproject.net/
2. https://vboehm.net/downloads/
3. http://www.e--j.com/index.php/what-is-zsa-descriptors/

1
premières grandes recherches en composition assistée par ordinateur avec
l’arrivée de la commercialisation des ordinateurs, note l’importance d’avoir
de la flexibilité dans l’ordonnancement des instructions données à l’ordina-
teur : l’architecture des environnements comme openMusic « repose sur une
représentation hiérarchique des objets musicaux agissant directement sur leur
conversion en séquences d’actions » 4 .
Je constate que le paradigme proprement séquentiel et hiérarchique au-
tour du CAO a un impact non-négligeable sur l’utilisation de l’outil de CAO
à des fins créatives et peut engendrer une pensée musicale hiérarchisée, possi-
blement difficile à manipuler. La rapidité à laquelle et la facilité avec laquelle
un.e compositeur.trice peut générer du matériel musical dépend souvent du
degré de familiarité avec l’outil que l’utilisateur.trice possède. L’environne-
ment de CAO non-dynamique est donc en opposition tranchée à la « vieille
manière » de composer, c’est-à-dire avec crayon et papier manuscrit, un outil
et une représentation qui est modulable, effaçable, palpable et qui pourrait
paraître plus direct pour certain.e.s compositeurs.trices.
Cependant, il existe déjà d’autres modèles numériques de composition
dynamique qui intègrent la séquentialité de l’ordonnancement des ordinateurs
sans s’opposer directement à la souplesse du papier-crayon.
Pour conceptualiser de modèles numériques de composition dynamique,
je ferai appel à certains concepts, tels la mémoire, la tradition orale, les
conventions de la phrase musicale et l’architecture des ordinateurs, en pas-
sant par une certaine pensée transhumaniste et aussi par les écrits de Gilles
Deleuze, surtout ceux en lien avec les idées d’Henri Bergson et de Marcel
Proust. En autres, ses concepts appairés, mais dichotomiques d’actuel | vir-
tuel, d’arborescent | rhizomatique et de déterritorialisation | reterritorialisa-
tion seront utiles pour décrire les relations entre musicien.ne et machine.
De la même manière que les boîtes à rythmes (des drum machines, comme
4. Institut de recherche et coordination acoustique/musique. Composition assistée par
ordinateur (OpenMusic). www.ircam.fr. https://www.ircam.fr/projects/pages/compositio
n-assistee-par-ordinateur-openmusic/

2
le Roland TR-808) peuvent séquencer statiquement des boucles rythmiques
au style d’un batteur, l’avènement de la musique électronique émergea de
l’accessibilité d’outils comme la boîte à rythmes qui encouragea ceux, qui
n’avait pas les moyens de se procurer de « vrais instruments », à considérer
le potentiel musical, mais surtout performatif, d’outils conçus comme rem-
placements pour les versions idéalisées : ici, le batteur est la version idéalisé 5 .
Les producteurs.trices de musique numérique ont pu ainsi voir de nouvelles
potentialités musicales chez les boîtes à rythmes lorsqu’iels remarquèrent que
ces boucles statiques étaient en fait dynamiques ; partir une boucle rythmique
et la moduler, la sculpter en temps réel permis aux producteurs.trices de créer
un nouveau paradigme créatif, surpassant les conventions rythmiques et sty-
listiques du batteur. Par exemple, une pensée arborescente jugerait de la
efficacité de la boîte à rythmes à imiter un batteur, tandis qu’une pensée
rhizomatique chercherait simplement à savoir quels rythmes sont possibles
avec une boîte à rythme.
Lors de la conception du logiciel, je me suis inspiré de ce modèle créa-
tif qui se base sur la rétroaction et la récursion pour penser aux manières
significatives et pertinentes d’interagir avec le médium du CAO. Le logiciel
est conçu pour aider à produire des phrases musicales monodiques à partir
d’une première phrase de durée équivalente à l’épuisement du souffle d’un
instrumentiste à vent lorsqu’iel souffle dans leur instrument.
Évidemment, le contexte dans lequel j’envisage l’utilisation de ce pro-
gramme est celui d’une pièce improvisée pour instrument à vent seul, mais
l’outil peut également servir à la composition à l’extérieur d’une performance.
Un.e improvisateur.trice jouerait un passage en un seul souffle en se basant
sur le dessin d’une ligne correspondante à la variation de hauteur au cours du
temps d’épuisement du souffle. À la fin de la phrase, l’algorithme exécuterait
une analyse de la ligne mélodique en notation musicale conventionnelle (voir
5. Jonas Čeika - CCK Philosophy. (2022). Explaining Deleuze with drum machines.
YouTube. https://www.youtube.com/watch?v=iDVKrbM5MIQ

3
figure 1) afin d’effectuer un genre de simplification de la ligne pour retenir
que les hauteurs, les gestes significatifs et les proportions temporelles entre
ces évènements musicaux.

Figure 1 – Improvisation en notation conventionnelle

Pour réaliser une simplification de la ligne mélodique qui conserve les


traits significatifs, c’est-à-dire ses caractéristiques, il faut subdiviser la ligne
en segments que je nomme des unités mélodiques de base : lignes stationnaires
(notes tenues) ou lignes ascendantes ou descendantes. Lors de l’explication
de l’algorithme, je ferai référence à ces unités en tant que tranches, traduisant
la nomenclature existante de la librairie Cage (slice).
Une fois que l’algorithme termine d’analyser la ligne, il redonne à l’in-
terprète la version simplifiée de la ligne en notation spatiale avec des lignes
droites indiquant la durée de la note et les glissandos ; par la suite, iel pourra
à nouveau improviser en reprenant ce qu’iel voit à la partition avec un degré
avec un degré de fidélité variable à la ligne précédente. L’improvisateur.trice
pourra continuer d’improviser par dessus la simplification subséquente de
chaque itération de la ligne pour une durée indéterminée.

Figure 2 – Réduction en notation spatiale

En utilisant cet outil que j’ai développé, je présuppose quelques contraintes


musicales sur l’improvisation des phrases musicales. Les phrases improvisées

4
seront continues, c’est-à-dire sans arrêt ou pause entre les notes. Elles privilé-
gieront des alternances de notes longues tenues et de courts passages en traits
de gamme ou de mode, qui peuvent être mélismatiques ou ornementés, c’est-
à-dire favorisant le mouvement conjoint en secondes ou en tierces. Toutefois,
cela n’empêche pas l’improvisateur.trice de jouer des sauts mélodiques plus
grands. Les phrases seront rythmiquement libre, donc sans mesure ou tempo
précis. Le but est tout de même de donner autant de liberté que possible à
l’interprète dans son improvisation. Après une première improvisation, l’al-
gorithme analyse la phrase et génère une version simplifiée de l’improvisation
en notation spaciale avec des glissandos pour indiquer l’allure de traits de
notes. Vu la rapidité possible de calcul par l’ordinateur, ce calcul dévrait être
entrepris au cours de la respiration de l’interprète à la fin de sa phrase pour
qu’iel puisse reprendre immédiatement.

1 Fondement philosophique
1.1 La mémoire en lien avec la créativité musicale
Un avantage saillant d’une transcription automatique est la liberté de
s’ancrer dans le maintenant. Parmi les choses qui peuvent empêtrer la créa-
tivité est le fait de devoir s’arrêter pour noter ses idées. Avec le neurone
musical, le.a créateur.trice n’a plus besoin de se souvenir de ce qu’iel a im-
provisé pour ensuite le noter avant de reprendre l’élan de l’improvisation.
Cependant, le danger flagrant de la précision de l’ordinateur est une repré-
sentation trop juste, trop détaillée pour une utilité humaine ou artistique.
En quelque sorte, les sensibilités musicales d’un.e musicien.ne constituent un
filtre qui trient les informations auditives, retenant que les points saillants
d’une musique dans leur esprit. Dans les musiques contemporaines et expé-
rimentales, les pratiquants pensent souvent en gestes musicaux, plutôt qu’en
notes, rythmes, mesures, etc... Pour éviter de suggérer une finalité au passage
improvisé par la profusion de détails, il faut donc flouter son contour pour ne

5
pas s’y accrocher. Outre créer une forme idéalisée de la phrase musicale, une
transcription parfaite mène la pensée musicale à se refermer sur elle-même.
Parallèlement, là où les théories musicologiques deviennent probléma-
tiques pour les créateurs.trices est avec l’idéal de la phrase. La phrase musi-
cale du canon classique occidental est justement un idéal ; la prédominance de
l’enseignement des modèles de phrases en composantes et en composés (ex. :
période, sentence, antécédent, conséquent, etc...) renforce la conception de la
phrase comme objet fixe ; standardisée, conventionnelle, schématique, plutôt
que comme suggestion ou ouverture. Selon cette idéal, la phrase musicale
serait complète lorsqu’on y retrouve certains éléments typiques, elle devient
immuable dans le souvenir collectif du public et des musicien.nes. Manifes-
tement, cette conception est emblématique d’une culture qui se base sur la
représentation abstraite de sa musique ; la partition concrétise une version
idéalisée d’une oeuvre musicale dans sa représentation, de là à dire que même
l’enregistrement d’une excellente interprétation d’une oeuvre notée sur sup-
port fixe (tel que le ruban magnétique, le fichier audionumérique, etc...) ne
peut et ne pourra jamais être la version idéale ou finale de l’oeuvre.
Le souvenir des musicien.ne.s et de l’auditoire crée néanmoins une ver-
sion idéalisée de l’oeuvre qui est permanente, mais dont la reproduction sera
toujours floutée par la mémoire imparfaite et imprécise des humains. Cette
version de l’oeuvre n’est donc pas issu de la « mémoire pure ou du passé
en général » qui existerait virtuellement selon Bergson 6 , mais provient d’une
masse composée de plusieurs souvenirs qui se superposent, qui existent actuel-
lement et qui réémergent à chaque fois qu’une personne ayant expérimenté
l’oeuvre revit son souvenir subjectif.
Dans certaines cultures musicales de tradition orale, surtout de musiques
folkloriques, le phrasé (ou quasiment tout aspect d’une oeuvre) est à dis-
6. « Therefore, we must conclude that pure memory, insofar as it exists, does not exist
actually, it exists virtually. » Bluemink, M. (2020, décembre). On Virtuality : Deleuze,
Bergson, Simondon. Epoché, 36. https://epochemagazine.org/36/on-virtuality-deleuze-be
rgson-simondon/

6
cuter et rediscuter. Elle est en flux constant entre différentes culturo-géo-
temporalités, c’est-à-dire entre villages, générations et traditions, par exemple.
Le phénomène de la variation est répandu dans toute tradition orale qui n’est
pas ferme sur l’exactitude de la reproduction ou de l’interprétation musicale,
à cause d’une condition particulière de la cognition humaine : la mémoire, et
par conséquence, les failles de la mémoire, l’oubli 7 .
Ainsi, l’oubli serait la première émergence de la variation lors de l’inter-
prétation, l’erreur humaine étant génératrice et ultimement créatrice par sa
force destructrice. L’essai-et-erreur, dans sa continuité avec l’oubli, serait une
deuxième émergence de la variation, mais cette fois-ci, du côté de la création
d’une nouvelle idée. Ces faiblesses humaines se conjuguent pour donner une
grande richesse à la créativité ; la créativité est donc un processus de « sé-
lection de variation », comme explique Donald T. Campbell dans sa théorie
darwinienne de la créativité 8 . Il faut noter que la ligne entre la variation et
l’improvisation est très mince, la différence entre les deux étant une fonction
de la variation sur des plus ou moins grandes étendus de temps ; elles font
partie d’un spectre de degrés de variations, de degrés d’évolution d’oeuvre.
La variation s’effectue-t-elle sur plusieurs générations ou sur le coup de l’exé-
cution du morceau ? Pour chaque pièce comportant de la variation, cette
ligne entre variation et improvisation est décidée par la souplesse stylistique
(la liberté qu’on accorde à l’interprète) et l’ancienneté de la musique et elle
vient jouée avec ce qu’on conçoit comme étant la forme idéale d’une oeuvre
en se référant à son degré de consensus des souvenirs des musicien.ne.s et de
l’auditoire.
Certaines musiques, par exemple le Gendér Wayang du Gamelan bali-
7. The Process of Change, dans Bohlman, P. (1988). Folk Music and Oral Tradition.
Dans The Study of Folk Music in the Modern World. Indiana University Press. https:
//publish.iupress.indiana.edu/read/the-study-of-folk-music-in-the-modern-world/section
/a5a7cdc5-93e8-47eb-ba27-5bc4c386e50b
8. Simonton, D. (1999). Creativity as Blind Variation and Selective Retention : Is the
Creative Process Darwinian ? Psychological Inquiry, 10(4), 309-328.

7
nais 9 , ont embrassé la variation de l’improvisateur comme caractéristique de
leur musique, notant la qualité de l’interprétation par la performance et la
pertinence des ornementations ajoutées. On pourrait également dire que dans
la pratique communes des jazzmen, la place des solos sur des standards et des
arrangements de ces derniers occupe un rôle semblable dans la détermination
de la forme idéale d’une musique jazz.
Prenons un exemple de la musique savante : à l’époque baroque, la parti-
tion était plus « ouverte » et les compositeurs s’attendaient à ce que l’inter-
prète ajoute des ornementations selon l’humeur de la pièce et la construction
de la phrase. Le basso continuo, l’improvisation d’accompagnement dictée
par une basse chiffrée, est un trait distinctif des oeuvres de l’époque. Même
jusque dans l’époque classique, il n’était pas encore commun de marquer tous
les articulations et les coulés. Le rôle de l’interprète était de jouer les passages
selon les conventions stylistiques de l’époque et selon son goût ou le goût de
le.a chef.fe d’orchestre. Après quelques siècles de développement, les oeuvres
de musique savante semblaient préciser de plus en plus minutieusement tous
les détails musicaux d’une oeuvre. À notre ère, les enjeux modernes de la
partition musicale dans la tradition de la musique contemporaine occiden-
tale sont ceux de la prescription et de la description, ceux de l’aléa versus
ceux de la précision. Les contentions autour de ces pratiques notationnelles
forment presque des dichotomies, voir des écoles de pensée sur la notation
appropriée pour représenter les idées musicales.
La variation est devenue un sorte de potentiomètre que le.a composi-
teur.trice peut monter ou descendre pour contrôler le montant de liberté ac-
cordé à l’interprète ; iel peut même moduler ce paramètre au courant de son
oeuvre et cela vient modifier à nouveau jusqu’où l’oeuvre peut être idéalisée
par son exécution ou par sa représentation abstraite.
Dans le cas de la pièce que je conçois, la solution que je propose aux limites
9. Gray, N. (2010). Of One Family ? Improvisation, Variation, and Composition in
Balinese Gendér Wayang. Ethnomusicology, 54(2), p.252-253, Summary

8
de la notation de représenter l’actualité des idées musicales est de concevoir
une oeuvre dont la version idéalisée existe dans sa morphologie évolutive,
dans une forme délibérément variable, dans une mémoire imparfaite partagée
avec un aide technologique. La forme virtuel de la phrase musicale créée à
l’aide de la neurone musical, c’est-à-dire sa forme réduite et simplifiée, est sa
forme idéale. Elle devient et redevient actuelle à chaque itération improvisée
de la ligne.

1.2 La représentation musicale dans le domaine numé-


rique et son effet sur la créativité
Le paradigme de la CAO est limité par les contraintes de l’ordonnan-
cement des ordinateurs 10 . La binarité des ordinateurs d’architecture Von
Neumann (dit classique) oblige un procédé arborescent dans la composition
assistée par ordinateur.
L’arborescence des ordinateurs se retrouvent dans leur fonctionnement
(les transistors et le code binaire), et conséquemment dans la séquentialité
des ordres que nous leur donnons. Comme mentionné dans l’introduction
du texte, un procédé musical qui oblige un ordre séquentielle d’opérations
impliquent une organisation hiérarchique des idées musicales.
Dans la complexité de la création artistique, la vitesse de la créativité
demande souvent des procédés non-séquentiels, qui sont malheureusement
interdis par le « von Neumann Bottleneck ». Le problème se retrouve dans
le fait que la majorité des ordinateurs moderne sont d’architecture von Neu-
mann. Ces ordinateurs dits classiques utilisent une seule mémoire vive (RAM)
pour conserver les données auxquelles l’ordinateur a accès, ainsi que les ins-
tructions des programmes exécutés par l’ordinateur, ralentissant la vitesse à
laquelle l’ordinateur peut exécuter chaque instruction et requête de données
10. Le neurone musical est également limité pour les même raisons, voir la discussion à
la fin du texte.

9
puisqu’elles s’exécutent une à la fois 11 .
Néanmoins la faiblesse de l’architecture von Neumann, la puissance et la
sophistication des ordinateurs modernes règlent la majorité des problèmes
de vitesse reliés au fonctionnement de l’ordinateur, mais la vitesse d’interac-
tion demeure considérablement lente. La re-programmation continuelle d’un
outil créatif engendre un délai assez long entre les étapes d’un travail créa-
tif et estompe finalement le dynamisme possible entre l’utilisateur.trice et
les environnements de programmation graphique ; j’y inclut openMusic et
Max/MSP. La perte d’agilité des utilisateurs.trices en manipulant leurs or-
dinateurs devient une perte de rhizomaticité. Étrangement, l’ouverture ou la
rhizomaticité d’une idée aurait une demi-vie avec une décroissance de dis-
ponibilité assez courte. Lorsque que l’idée se referme sur elle-même, il faut
attendre l’oubli d’une portion considérable des liens avec autres idées pour
ensuite que l’idée redevienne rhizomatique et à nouveau disponible. Cela de-
vient encore plus difficile de retrouver l’état d’ouverture d’une idée quand
l’ordinateur se souvient de tous les détails d’une séance de travail, à moins
d’une corruption de fichiers ou de disque dur. Pour réintroduire du rhizoma-
tique dans le circuit utilisateur.trice-outil, il faut se réapproprier les faiblesses
du système et utiliser l’erreur comme génératrice de variation dans l’immé-
diat de l’interaction.
La technique par excellence utilisée dans le neurone musical est l’approxi-
mation de données, présent sur plusieurs plans technologiques. Ici, la repré-
sentation musicale simplifiée est une technologie qui génère des « erreurs »
consciemment, c’est-à-dire qui oblige des oublis. L’interprète utilise la parti-
tion et reproduit au mieux qu’iel peut, donc interprète la notation spatiale
de manière imprécise puisqu’il y a des fortes chances qu’iel ne se souvienne
pas de toutes les notes ou leurs durées. L’interprète ne voit que des distances
relatives entre les unités mélodiques.
11. Von Neumann Architecture. teachcomputerscience.com https://teachcomputerscien
ce.com/von-neumann-architecture/

10
Quant à l’analyse musicale entreprise par l’ordinateur, l’ordinateur est or-
donné d’analyser la distribution des rythmes sur la durée de la mélodie et de
quantifier les rythmes selon une grille rythmique dont le nombre de subdivi-
sions est trop petit pour reproduire les emplacements des notes et le nombre
de notes avec précision. En analysant des traits de modes, l’ordinateur ne
voit que les directions des traits et remplacent les suites de notes par des
lignes réductrices et grossières. L’ordinateur produit ces lignes approxima-
tives en comparant les traits avec des modèles de lignes mélodiques typiques.
Le neurone musical « oublie des détails » et « commet des erreurs » dans une
mimique simpliste de la mémoire humaine, même si d’après le programme,
tout s’est bien déroulé.

1.3 Boucle de rétroaction et mémoire collective


Malgré l’opération fautive du neurone musical, l’ordinateur exécutant le
programme reste largement arborescent dans sa manière d’opérer. Dans ce
circuit fermé d’humain-machine, c’est plutôt le rôle de l’interprète de renou-
veler le langage et à ré/injecter de la rhizomaticité dans le système. Sans
l’humain pour relancer l’analyse à chaque itération de la phrase et fournir la
prochaine improvisation, la machine arrête d’imiter promptement. Pourtant,
l’improvisateur.trice et le neurone musical ont une relation symbiotique dans
la production du contenu musical. La rhizomaticité provient initialement de
l’interprète lors de la première improvisation, mais iels font rhizome. Dans
cette formule d’imitation entre ordinateur et interprète, ces derniers ont une
relation de déterritorialisation | reterritorialisation semblable à l’exemple de
la guêpe et l’orchidée donné dans le texte Mille plateaux :
L’orchidée se déterritorialise en formant une image, un calque de guêpe ;
mais la guêpe se reterritorialise sur cette image. La guêpe se déterritorialise
pourtant, devenant elle-même une pièce dans l’appareil de reproduction de
l’orchidée ; mais elle reterritorialise l’orchidée, en en transportant le pollen.
La guêpe et l’orchidée font rhizome, en tant qu’hétérogènes, On pourrait dire

11
que l’orchidée imite la guêpe dont elle reproduit l’image de manière signifiante
(mimesis, mimétisme, leurre, etc.) 12 .

Ainsi, l’interprète et la musique se déterritorialisent lors de la performance


par l’extériorisation de l’idée musicale. L’algorithme derrière le neurone agit
à l’instar d’une mémoire malléable et souple dans lequel des idées musi-
cales peuvent s’entreposer, permettant de reterritorialiser l’idée musicale ;
l’algorithme imite en déformant, mais il n’apprend pas de l’interaction avec
l’interprète, à proprement dire.
Chez les ordinateurs modernes, la mémoire vive occupe le rôle de la mé-
moire qui peut enregistrer des données et les modifier, mais depuis quelques
siècles, la science informatique développa l’informatique neuromorphique pour
explorer comment les ordinateurs peuvent imiter des procédés semblables au
fonctionnement des cerveaux humains, notamment au fonctionnement des
neurones et des synapses. Au centre de cette recherche se trouve naturelle-
ment le memristor, un résistor de mémoire. Le memristor est le candidat le
plus apte à remplacer la fonction de la synapse dans le monde des ordina-
teurs 13 , puisqu’il accomplit la tâche de transférer de l’information, tout en
ayant une résistance qui varie selon le montant de fois que de l’information
y passe.
La synapse est le conduit entre neurones, tout comme le memristor est
le conduit entre différentes composantes de l’ordinateur ; mais quelle est la
synapse dans le cas de la performance avec le neurone musical ? J’extrapole
le sens de la synapse et je l’étend jusqu’à la partition générée par le neurone
musical : la partition est un conduit pseudo-synaptique, puisqu’il comprend
cette résistance variable apparentée à la période réfractaire des neurones, sur-
tout de ceux qui ne retournent pas à un état initiale après une stimulation.
Le neurone musical est à risque de former une boucle d’hystérésis avec l’in-
terprète : par la consolidation de l’allure de la phrase musicale, le processus
12. Deleuze, G. et Guattari, F. (2013). Mille plateaux. Éditions de Minuit, p. 5.
13. Choi, S., Ham, S. et Wang, G. (2018) Memristor Synapses for Neuromorphic Compu-
ting. Dans A. James, Memristors. IntechOpen. https://doi.org/10.5772/intechopen.85301

12
de va et vient entre le programme et l’interprète est susceptible de stagner
musicalement.
Ce jeu mimétique entre l’improvisateur.trice et le neurone musical révèle
le potentiel musical de la phrase improvisée. Avant d’être actualisée par le
jeu de l’instrumentiste, l’idée improvisée appartient au virtuel et se noie dans
une mer d’idées possibles qui sont semblables, voir interchangeables avec cette
première idée. Jusqu’au moment de la première exécution, toutes ces idées
sont possibles. Le centre de la masse d’idées constituent l’origine cartésienne
de l’idée initiale, autour de laquelle toutes les autres variations de l’idée
existent. Cette masse définit l’espace virtuelle qu’occupe l’étendue de l’idée
pure, une sorte de mesure de sa variation totale ; cela inclut également son
actualité. Après la première itération, une version de l’idée se « concrétise »
chez le.a musicien.ne et l’auditoire ; elle appartient au plan de l’actualité, elle
est actuelle. Le but du neurone serait de redéployer la virtualité inhérente à
l’idée actualisée, libérant les idées virtuelles, c’est-à-dire les variations d’une
même idée sans être renvoyer continuellement à l’idéal de la phrase. La phrase
musicale deviendrait enfin suggestion pure par son redéploiement perpétuelle
dans l’actualité.

2 Transcription de la mélodie
Utilisant les objets [fiddle∼] et [bach.transcribe], l’improvisation est trans-
crite en temps réel lorsque l’improvisateur.trice active la transcription avec le
[toggle]. Dans cette itération de l’algorithme, la transcription est déclenchée
à l’aide de la touche espace, mais idéalement, lors d’une performance avec le
patch, le processus serait déclenché à l’aide d’une pédale MIDI.
Les hauteurs des notes de la mélodie sont arrondies au demi-ton près,
mais l’arrondissement peut être paramétré pour transcrire les quarts de ton
ou les huitièmes de ton à la guise de l’improvisateur.trice.
En plus des hauteurs, l’amplitude respective de chacune des notes est

13
retenue et convertie en une vélocité MIDI ; elles seront utiles dans une étape
ultérieure de l’analyse de la mélodie. Une particularité de [bach.transcribe]
oblige que la durée de la note soit précisée au même moment que la hauteur et
la vélocité de la note, selon les conventions du protocole MIDI, ou d’envoyer
un deuxième message pour indiquer la fin de la note. Le [fiddle∼] n’envoie
que la hauteur à l’attaque de la note, donc j’ai opté de préciser une durée
arbitraire (ici, elle est 1000 millisecondes) dans le message de chaque note.
En supposant qu’il n’y a pas de bris dans la ligne mélodique, la transcription
se termine en envoyant le message « sel all, legato » au roll pour lui dire de
sélectionner toutes les notes et de les allonger ou de les écourter de façon à
ce que chaque note termine à l’arrivée de la prochaine note.

3 Étapes d’analyse de l’algorithme


3.1 Placement de marqueurs selon la distribution ryth-
mique des notes
La première étape de l’algorithme com-
prend les sous-patchs [#-sub-divisions],
[edge-detection-rhythm], [round2onsets] et
[add-markers]. Il est possible de segmenter
facilement la mélodie avec l’objet [cage.slice]
en plaçant des marqueurs sur le roll pour in-
diquer les endroits où la trancher. Pour choi-
sir où placer les marqueurs, j’ai utilisé l’ob-
Figure 3 – Tableau de
jet [dada.analysis.rhythmdistrib], qui calcul
la distribution rythmique,
la distribution des notes sur la durée de la
[dada.analysis.rhythmdistrib]
mélodie selon la proximité des notes les unes
aux autres et selon les poids attribués aux différentes notes en fonction de
leurs vélocités MIDI.

14
L’objet [dada.analysis.rhythmdistrib] lui-même découpe un roll en un
nombre de tranches de même durée, précisé avant l’analyse. Le nombre de
tranches est déterminée par rapport à la durée totale de la mélodie, divisée
par la moyenne des durées des notes du roll. La moyenne fût choisie pour
tenter de correspondre la subdivision à une unité mélodique semblable à une
mesure en musique mesurée ; la mesure représente une étendue de temps
qui englobe une partie d’une phrase, comme une composante analogue à un
antécédent ou un conséquent.
Dans le calcul de la distribution rythmique en fonction de cette unité mé-
lodique variable, il y a des approximations grossières des détails rythmiques
de la mélodie : généralement, des traits de notes se font jumelés ensemble et
les notes tenues demeurent intactes. Ceci est le résultat du fait que l’analyse
est fait en fonction des attaques des notes MIDI ; cette algorithme ne prend
pas en compte la durée totale de la note pour la présence d’une note dans
une tranche. Cependant, j’exploite ces approximations pour obtenir une com-
pression des données rythmiques, en quelque sorte un floutage qui permet de
voir la mélodie en moments et pauses d’activité rythmique.
Avec le but de détecter les débuts de traits de modes et de les différencier
des notes tenues, la liste produite par [dada.analysis.rhythmdistrib] est ana-
lysée pour identifier les transitions logiques entre 0 et un nombre quelconque,
ainsi indiquant la présence ou l’absence de nouvelles notes. Comme l’objet
[edge∼] de Max, il existe l’objet [togedge] qui agit sur des listes itérées de 0
et de 1 et signale uniquement les transitions entre 0 et 1 et vice-versa, omet-
tant les répétitions de chiffres. Dans la liste de la distribution rythmique,
les notes tenues paraissent comme une valeur à virgule flottante entre 0.0
et 1.0, suivie immédiatement de plusieurs valeurs équivalentes à 0. Pour les
traits de modes, ils paraissent comme des séquences de plusieurs valeurs à
virgule flottante. Seules les transitions entre 0 et une valeur non-équivalente
à 0 nous intéressent, donc toutes les valeurs de la liste supérieures à 0.0 sont
converties en 0 et tous les 0 en 1 par le [ !- 0.].

15
Les marqueurs des tranches sont placés le long du roll de la mélodie selon
les temps d’entrées (corresponding onsets) produits par [dada.analysis.rhythm
distrib]. Par la suite, les temps d’entrées sont calés sur les temps d’entrées
des notes de la mélodie avec l’objet [bach.nearest] pour que les marqueurs
correspondent précisément aux débuts des traits et des notes tenues.

3.2 Division de la mélodie selon les marqueurs et cor-


rection des tranches
Ayant placé des marqueurs sur le roll, la mélodie est ensuite divisée en
plusieurs rolls avec l’objet [cage.slice].
Dans le sub-patcher [process-slices], la première note respective de cha-
cune des tranches sauf la première est enlevée. Il est nécessaire d’omettre la
première note à cause du comportement de [cage.slice], qui retient la toute
fin de la dernière note de la tranche précédente.

3.3 Traitement des petites tranches


Même avec l’étape du sous-patch [round2onsets], la correction de la po-
sition est toujours trop imprécise pour correspondre parfaitement aux dé-
buts des unités mélodiques. Conséquemment, la première étape de l’analyse
produit fréquemment des tranches comprenant qu’une ou deux notes. Ces
tranches précèdent souvent des traits de notes, mais peuvent aussi précéder
des notes tenues ; dans quel cas, je les considère comme des appoggiatures.
La solution à cette erreur d’imprécision dans les deux cas est de joindre la
petite tranche à la tranche suivante. Je les joint puisque je crois la perception
musicale des appoggiatures fusionne des évènements sonores éphémères aux
attaques d’unités musicales plus longues, comme si l’appoggiature apparte-
nait au transitoire d’une note ou d’un début de passage.
Pour déterminer ce que constitue une « petite » tranche, j’entreprend un
calcul en deux étapes dans le sous-patch [sous-mediane]. La première étape

16
est un simple recueil des durées respectives des tranches ; une fois que les
données sont recueillies dans une liste, on passe au calcul de la médiane. La
médiane fût choisie au lieu de la moyenne pour cette étape puisqu’elle a moins
tendance d’être biaisée par des valeurs aberrantes. À noter que la médiane
ne peut pas être utilisée telle quelle pour déterminer la taille d’une petite
tranche. Pour qu’une tranche soit perçue comme étant petite, elle lui faut une
taille qui est significativement plus petite que la moyenne. Dépendamment
de la vitesse de la musique, une tranche qui dure plus longtemps que la
moitié de la durée de la médiane pourrait être perçue comme ayant une durée
semblable. Donc, les durées respectives sont comparées contre la moyenne
des durées divisée par deux. Seules les tranches inférieures à cette valeur
sont retenues pour la prochaine étape : [sous-médiane] produit une liste des
adresses de ces tranches, c’est-à-dire leurs positions dans la liste de rolls créée
par l’objet [cage.slice].
La prochaine étape, [process-below] reçoit la liste des adresses des petites
tranches pour savoir quelles tranches retirer de la liste des rolls. Suivant ma
définition de l’appoggiature, chacune des petites tranches est accouplée avec
la tranche qui la suit pour produire un roll par couple de tranches. Utilisant
l’objet [bach.subs], les nouvelles tranches combinées remplacent les tranches
aux adresses recueillies à l’étape précédente et suppriment les tranches aux
adresses suivant les petites tranches pour ne laisser que les nouvelles tranches
courtes parmi les autres tranches longues de la liste de [cage.slice].

3.4 Traitement des grandes tranches


Semblablement à l’étape précédente, pour déterminer si une tranche est
« grande », on l’a compare à la médiane. Ici, la médiane est recalculée puisque
le nombre de tranches a possiblement changé, dans quel cas, la médiane
véritable aura assurément changé. Cette fois-ci, la médiane est multipliée
par 1.5 pour déterminer quelles tranches sont de durées plus longues que
la nouvelles médiane plus la moitié de sa valeur ; à nouveau, l’important

17
est retenir que les tranches qui sont significativement plus longues que la
médiane.
Les grandes tranches pourraient comprendre des longs traits de modes de
vitesse plus ou moins constante que l’algorithme verrait comme des longues
unités mélodiques par la distribution rythmique constante au long des grandes
tranches en question. Pour ramener les grandes tranches à une taille com-
parable à la médiane des durées, les grandes tranches sont analysées pour
déterminer si elles contiennent des grands sauts mélodiques, soit des sauts
d’intervalles équivalents ou supérieurs à une quarte juste.
Le sous-patch [process-above] ajoute des marqueurs aux grands sauts mé-
lodiques et divise chaque grande tranche en plusieurs rolls à analyser. Mon
choix de diviser les grandes tranches selon les sauts mélodiques présents est
pour faciliter le travail de la prochaine étape, la réduction mélodique, et pour
éviter les simplifications trop grossières des longs traits mélodiques lors de
cette étape.

3.5 Réduction mélodique


L’étape la plus importante de l’algorithme est la simplification de la
représentation des traits de mode, ainsi nommée la réduction mélodique.
Puisque les notes tenues avec ou sans appoggiature
n’ont pas besoin de simplification notationnelle, le sous-
patch [>2-notes] séparent les rolls comportant moins de
deux notes de ceux avec des traits de modes. Les ins-
tructions pour l’improvisation indiquent que les traits
de modes devraient privilégier le mouvement conjoint. Figure 4 –
Dans ce cas particulier, à moins d’avoir un trait méan- Extrait du tableau
dreux qui ne laisse paraître aucune direction claire dans TARSOM
son parcours global, les traits de modes ont générale-
ment un profil mélodique ascendant ou descendant, ou même un profil com-
posite combinant les deux directions.

18
Pour savoir si un trait monte ou descend, il faut le comparer contre des
formes idéalisées de parcours mélodique typique.
Je me suis inspiré des classes de profils mélodiques du TARSOM de Pierre
Schaeffer, qui sont eux-mêmes basées sur les types de neumes élémentaires
du chant grégorien. Les quatre profils retenus sont le clivis (ascendant), le
podatus (descendant), le torculus (ascendant, puis descendant) et le porrectus
(descendant, puis ascendant).
Selon le fonctionnement de [zsa.dist], les listes de hauteurs doivent être
de longueurs équivalentes pour permettre la comparaison. Pour chacune des
tranches envoyées à la réduction mélodique, les profils sont générés dyna-
miquement pour être de la longueur correspondante à la tranche. Au lieu
d’utiliser des profils mélodiques de taille fixe, des séries arithmétiques allant
de 0.0 à 1.0 et de -1.0 à 1.0 sont générées et manipulées avec le nombre
d’échelons appropriés. [zsa.dist] choisit ensuite un modèle de profil.
Malgré que la simplification va ôté plusieurs détails, il faut retenir quelques
informations clé de la ligne pour que la simplification ressemble à la ligne
d’origine, du moins en surface. Pendant le calcul de la comparaison, je retient
la première note, le nadir, l’apogée et la dernière note. Ces points saillants
peuvent ensuite être utilisées pour recomposer la ligne. La librairie Bach peut
dessiner les glissandi, j’utilise donc cette fonction pour représenter les trajets
des traits de modes, gardant toujours les première et dernière notes. Seules le
torculus et le porrectus ont besoin des extrêmes de la ligne pour recomposer
leurs formes.

4 Discussion, améliorations possibles et conclu-


sion
Le neurone musical est à présent dans son stade alpha, il pourrait bénéfi-
cier de plusieurs retouches et encore quelques améliorations quant à la logique
de la programmation, sans même parler des failles des librairies Bach, Cage

19
et Dada qui eux-mêmes sont en développement perpétuel et pourraient voir
des corrections de bogues dans les versions ultérieures.
Au centre de l’algorithme se retrouve l’objet [dada.analysis.rhythmdistrib],
il fait une analyse de la distribution des notes qui se réfèrent aux attaques des
notes, plutôt qu’aux espaces qu’elles occupent sur la partition. Une meilleure
représentation de la distribution rythmique des notes prendrait en compte la
durée totale de chacune des notes et non pas que leurs débuts. Un objet sem-
blable à [dada.analysis.rhythmdistrib] avec cette modification éviterait de de-
voir inclure l’étape [edge-detection-rhythm], qui lui demande par la suite des
corrections entreprises dans les sous-patchs [round2onsets] et [add-markers].
Une amélioration majeure de l’algorithme serait une précision de la ré-
duction mélodique. Le choix de se limiter à quatre profils mélodiques est
plutôt arbitraire, même s’il se base sur les idées de Pierre Schaeffer ; après
tout, il n’y a pas que quatre types de neumes dans le répertoire médiéval,
donc forcément, il y a probablement d’autres profils mélodiques distincts qui
me seraient utiles. La réduction mélodique des séquences de notes rappro-
chées pourrait être améliorée par l’ajout d’autres contours mélodiques de
base contre lesquelles comparer les séquences. Par exemple, avoir un modèle
de la ligne stationnaire pour les lignes mélodiques qui restent largement au-
tour d’un même pôle harmonique. Cela donne la chance d’explorer l’idée du
trill autour d’une note ou d’une ligne vacillante pour indiquer une constance
(le pôle harmonique) avec une variation semblable à un vibrato.
D’autres parcours utiles seraient des lignes droites avec une descente ou
une montée en première ou deuxième moitié de parcours. Je soupçonne que
l’ajout de ces parcours aiderait le [zsa.dist] à trouver les torculus et les por-
rectus plus facilement.
Une itération précédente de la comparaison mélodique reposait sur un
échantillonnage de versions de haute définition des profils mélodiques de base.
Des profils avec une résolution de 100 points allant de 0.0 à 1.0 sont générés
et selon le nombre de notes dans une tranche, le même nombre de points

20
dans le profil généré est retenu pour former un profil de taille équivalente
à la tranche (encore pour permettre à [zsa.dist] d’effectuer son calcul). Les
points sont choisis à des intervalles équidistants dans la liste des valeurs du
profil. Par exemple, une tranche avec dix points indique que le profil généré
sera échantillonné à chaque dix points. Puisque les profils sont générés à
l’avance, le coût temporel de devoir générer les profils dynamiquement est
éliminé. Le problème avec cette méthode est qu’il est plus difficile d’avoir une
précision avec l’échantillonnage lorsque la tranche comporte un petit nombre
de notes (trois à cinq). Il faut généralement faire une mise à échelle des
valeurs échantillonnées pour s’assurer que les valeurs minimum et maximum
équivalent toujours 0.0 et 1.0 respectivement.
Par ailleurs, il y a clairement un problème dans l’ordonnancement des
données. En particulier, l’objet [bach.subs] est utilisé à plusieurs reprises
pour fusionner ou enlever des tranches. Le traitement des tranches créées
par [cage.slice] semble assez couteux comme opération pour Max : même en
assurant l’arrivée des données dans le bon ordre, ça ne semble pas fonctionner
à toutes les fois que l’analyse est exécutée. Il y a donc une optimisation du
patch en général à effectuer, voir même une meilleure façon de décomposer
et recomposer la mélodie autre qu’avec [cage.slice].
Une autre petite amélioration envisageable : [process-above] peut produire
des tranches de très petite taille, ces tranches devraient être fusionner à une
tranche adjacente : cette étape est absente du programme pour l’instant.
De plus, cette itération du logiciel est fondée sur un algorithme de « distri-
bution énergétique » des notes, mais il serait envisageable d’utiliser d’autres
méthodes d’analyse de données. Ceci nécessite une recherche plus profonde.
Pour développer davantage l’utilité de cet outil, il faut améliorer la ma-
nière dont la mélodie est analysée et multiplier les types de mélodies que
l’algorithme peut analyser. Il faudrait élaborer une méthode d’analyse mé-
lodique pour détecter des motifs répétés et transposés. Pour représenter une
simplification d’un motif répété, on peut emprunter à la notation graphique,

21
par exemple, la boîte noire contenant motif à l’intérieur avec une ligne as-
cendante, descendante ou planante continuant le motif.
Dans une version ultérieure du logiciel, il faudrait prévoir une façon
d’ajouter une option pour moduler le type d’analyse, ce qui ajouterait un
retour numérique dynamique au système si on peut le faire en cours de route.
Ça peut prendre la forme d’un paramètre pour choisir le genre d’improvisa-
tion, comme un style pointilliste, par exemple.
En outre, les sauts mélodiques sont utilisés juste avant l’étape de la ré-
duction mélodique pour diviser la mélodie en plus petites tranches, mais
les divisions selon les sauts mélodiques devraient aussi figurer dans les pre-
mières étapes de l’analyse, puisqu’elles me semblent très signifiantes dans la
construction de phrases favorisant le mouvement conjoint.
En conclusion, en présentant une version « ouverte » de la partition, l’im-
provisateur.trice accède à la ligne mélodique et peut la moduler en tout temps
après sa réduction en notation spatiale. Cependant, il faut noter que cela ne
règle pas le problème de l’ordonnancement des opérations de l’ordinateur.
L’aspect dynamique dans ce système est technologique (il fait appel à la
partition comme technologie), mais n’est pas numérique ; l’ordinateur attend
toujours des données afin de rendre son résultat. L’improvisateur.trice ne
peut pas changer le résultat en cours de route de l’analyse, donc le chan-
gement ne peut se produire qu’à l’interprétation, donc le mode de pensée
est toujours en quelque sorte séquentiel. Avec l’amélioration de l’outil, une
plus grande aisance dans la modularité de l’idée musicale, c’est-à-dire dans
la variation de son interprétation, sera possible.

22
Références
Bluemink, M. (2020, décembre). On Virtuality : Deleuze, Bergson, Si-
mondon. Epoché, 36. https://epochemagazine.org/36/on-virtuality-deleuze-
bergson-simondon/

Bohlman, P. (1988). Folk Music and Oral Tradition. Dans The Study of
Folk Music in the Modern World. Indiana University Press. https://publish.
iupress.indiana.edu/read/the-study-of-folk-music-in-the-modern-world/sec
tion/a5a7cdc5-93e8-47eb-ba27-5bc4c386e50b

Choi, S., Ham, S. et Wang, G. (2018) Memristor Synapses for Neuromor-


phic Computing. Dans A. James, Memristors. IntechOpen. https://doi.org/
10.5772/intechopen.85301

Deleuze, G. (1995). L’actuel et le virtuel. Dans G. Deleuze et C. Parnet,


Dialogues. Flammarion.

Deleuze, G. et Guattari, F. (2013). Mille plateaux. Éditions de Minuit.

Deleuze, G. et Lapoujade, D. (2002). L’île déserte : textes et entretiens


1953-1974. Éditions de Minuit.

Gray, N. (2010). Of One Family ? Improvisation, Variation, and Compo-


sition in Balinese Gendér Wayang. Ethnomusicology, 54(2), 224-256.

Institut de recherche et coordination acoustique/musique. Composition


assistée par ordinateur (OpenMusic). www.ircam.fr. https://www.ircam.fr/p
rojects/pages/composition-assistee-par-ordinateur-openmusic/

Jonas Čeika - CCK Philosophy. (2022). Explaining Deleuze with drum

23
machines. YouTube. https://www.youtube.com/watch?v=iDVKrbM5MIQ

Sasso, R. et Villani, A. (2003). Le Vocabulaire de Gilles Deleuze. (Cahier


n° 3). Centre de recherches d’histoire des idées.

Schaeffer, P. (1966). Le traité des objets musicaux : essais interdisciplines.


Éditions du Seuil.

Simonton, D. (1999). Creativity as Blind Variation and Selective Reten-


tion : Is the Creative Process Darwinian ? Psychological Inquiry, 10(4), 309-
328.

Vickery, L. (2016). Rhizomatic approaches to screen-based music nota-


tion. New Interfaces for Musical Expression. Edith Cowan University.

24

Vous aimerez peut-être aussi