-
Visualisation de gammes non tempérées (pour interface électronique pseudo-guitaristique unicorde fretless)
Simon DANIEL, M2 CMAS
Intention :
Ce projet fait suite au développement l'année dernière d'une interface électronique pour le jeu musical live. Cette interface se posait comme réponse à un besoin personnel qui était celui de coupler mes pratiques de musicien électronique "de studio" (c'est à dire en temps différé), et de guitariste live (en temps réel). Grâce à ce premier prototype, je pouvais donc, dans une certaine mesure, explorer des sonorités électroniques et les travailler de manière relativement fine, sans compromis sur l'expressivité et l'instantanéité.
L'interface est composée d'un corps, de trois capteurs (piézoélectrique, potentiomètre et de pression), et la partie software a été codée sous Max/MSP :
Une présentation détaillée de l'instrument ainsi que le mémoire qui lui a été consacré sont disponibles ici.
Toutefois, une fois cette première version mise au point et testée, de nombreux problèmes restaient à régler. Parmi eux, l'impossibilité de visualiser les notes de l'instrument sur le manche, fonction que remplissent les frettes sur une guitare, qui permettent de jouer juste. Comme on peut le voir sur la vidéo ci-dessous, j'ai d'abord tenté de résoudre le problème en collant des pastilles de couleur pour me repérer sur mon instrument, pour rappeler le manche de guitare qui m'est familier :
Mais cette technique a vite montré ses limites. En effet, je souhaitais que l'instrument soit fretless (c'est à dire avec un manche sans frettes, comme celui d'un violoncelle par exemple) afin de pouvoir explorer des intervalles qui sortent de la traditionnelle gamme tempérée à 12 demi-tons, utilisée dans la majorité des musiques occidentales. En effet, le placement des frettes conditionne les notes qu'il est possible de jouer, là où un instrument sans frettes a accès à tous les micro-intervalles possibles et imaginables. On parle alors de musique microtonale.
De nombreuses traditions musicales emploient de tels intervalles. Les musiques arabes (maqâm) ou indiennes (râga), pour ne citer qu'elles, emploient par exemple des quarts de tons.
Si j'ai souhaité dès le départ que mon prototype soit un instrument aux potentialités microtonales, c'est parce que je suis guitariste dans un groupe de rock expérimental composé de 4 musicien.ne.s, Paillette 121, ensemble qui comprend notamment un alto, un oud et une basse fretless, trois instruments qui peuvent jouer ces micro-intervalles inaccessibles pour moi, à la guitare. J'ai donc conçu mon interface dans l'optique de pouvoir explorer les mêmes notes que mes camarades de groupe, en faisant le choix d'un manche fretless.
Le problème, c'est qu'en plus du fait que le prototype soit assez dur à jouer (voire parfois carrément beugué), je n'ai pas autant l'habitude de ces intervalles que mes camarades de groupe qui jouent des instruments fretless depuis plusieurs années. Il me fallait donc, pour me délester d'une tâche intellectuelle et me focaliser uniquement sur mon jeu, trouver un moyen de visualiser simplement les intervalles utilisés dans tel ou tel morceau, en fonction du mode choisi (pour faire simple, un mode est une sorte de gamme musicale, et certains modes indiens ou arabes, pour ne citer qu'eux, utilisent des micro-tons). En d'autres termes, il me fallait imaginer un manche à "frettes variables".
Notons ici que les frettes ne servent dans ce cadre que de repères spatiaux, mais n'ont pas la fonction habituelle des frettes qui est de conditionner le jeu à un certain nombre de notes prédéfinies et de les jouer juste.
J'ai choisi pour ce projet de me servir de la vaste base de données Scala, qui compile plus de 5000 (!) modes du monde entier (mais aussi des modes expérimentaux dérivés de calculs mathématiques, des accordages antiques ou d'autres joyeuseries en tout genre) utilisant des intervalles microtonaux. L'idée est donc de récupérer les données du mode utilisé pour un morceau pour les traduire visuellement sur le manche, à l'aide d'un écran long (ou d'un ruban à LED suffisamment dense) fixé sur celui-ci. Malheureusement, je n'ai pas pu m'en procurer et n'ai donc pas encore pu mettre en application concrète mon idée. J'ai toutefois programmé toute la partie dédiée à l'analyse des données ainsi que la transformation en un visuel simple, et c'est ce sur quoi cet article portera.
Fonctionnement :
Chaque mode de la base Scala se présente sous la forme d'un fichier texte .scl qui comprend le nom du fichier et une courte description du mode encadrés par des "!", puis, le plus important, les ratios qui correspondent aux intervalles du mode en question. Ces fichiers sont interprétables par certains plug-ins de synthétiseurs, permettant de jouer, même avec un simple clavier MIDI occidental, des modes microtonaux. En voici deux exemples :
Le travail de code que j'ai effectué visait ainsi à, dans un premier temps, se débarrasser des informations inutiles (tout ce qui n'est pas les ratios), pour, dans un second temps, interpréter visuellement ces ratios. On remarque que les ratios peuvent être présentés sous forme de midicents (nombre à virgules) ou de fractions. Il faut donc penser un système qui puisse comprendre les deux types de mise en forme. J'ai décidé pour cela que mon patch transformerait tout ratio en un nombre flottant compris entre 1 (ratio de la fondamentale) et 2 (ratio de la première octave).
On remarque par ailleurs que la première note du mode (la fondamentale) n'est pas mentionnée dans les fichiers .scl. En effet, le ratio pour la première note étant toujours égal à 1, les concepteurs de Scala ont jugé qu'il serait superflu de le préciser à chaque fois.
Avant de passer à l'explication du code, voici en image et en deux exemples ce que permet de faire mon patch Max (entrées .scl à gauche, sorties graphiques à droite) :
Plusieurs choses sont à noter :
- Les traits en rouge correspondent à la fondamentale du mode, d'un ratio égal à 1, et à la première octave, d'un ratio de 2. Cela permet de faciliter le repérage pour retrouver plus vite la fondamentale lors de l'improvisation avec l'instrument, par exemple. En l'état, ce code couleur n'est pas très utile puisqu'il s'agit de la première et de la dernière note, facilement identifiables même sans couleur, mais il fera plus sens à l'avenir puisque je prévois de développer le patch pour afficher plusieurs octaves.
- Le système est capable d'interpréter les ratios, qu'ils soient sous la forme de nombres à virgule (midicents) ou de fractions, même au sein du même fichier .scl (cf. premier exemple, qui contient à la fois des midicents et des fractions).
- Quel que soit le nombre de notes contenu dans le mode, le patch s'adapte.
Le coeur du code :
Que serait ce patch sans l'objet [coll] ? Le patch peut en fait être résumé à une succession de [coll] qui effectuent chacun une action sur le fichier .scl d'origine, entré dans un objet [text]. Chaque [coll] a une tâche précise, et l'ordre est le suivant (voir légende plus bas) :
- Exemple 1 : avec ratios en fractions
- Exemple 2 : avec ratios en midicents
- Fichier complet, stocké dans un objet [text].
- Premier [coll], ne garde que la première chaîne de caractères de chaque ligne et introduit l'indexation des lignes.
- Second [coll], ne garde que les chaines de caractères après le dernier "!". Ainsi, seuls les ratios sont conservés.
- Troisième [coll], convertis les fractions en nombres à virgule entre 1 et 2 (fondamentale et octave).
- Uniquement si le fichier comporte des ratios sous forme de midicents. Un quatrième [coll] est utilisé pour convertir les midicents (nombres à virgule supérieurs à 2) en nombres à virgule inférieurs à 2.
Enfin, voici une capture d'écran du patch dans son ensemble. Les coll sont indiqués en jaune.
Tags : Max, Musique, Pression Force, Piézo, Ribbon, Performance, Instrument
-
Commentaires
Aucun commentaire pour le moment
Suivre le flux RSS des commentaires
Vous devez être connecté pour commenter