Skip to content

Processing (Fr)

Christophe Lengelé edited this page Sep 2, 2023 · 63 revisions

La vidéo ci-dessous montre quelques captures d'écran de la représentation visuelle d'objets sonores réalisée dans Processing.

Live.mp4

Mise en place

Le code dans Processing, qui est disponible dans ce dossier, fonctionne avec la version 4.3 de Processing et nécessite l'installation dans Processing de la librairie externe oscP5, disponible dans ce dossier ou directement sur internet.

Afin que les données sonores dans SuperCollider soient transmises via OSC dans Processing :

  1. La variable ~visualizeProcessing doit être égale à 1 dans le fichier _0_Init_Live4Life.scd. Il est donc nécessaire d'évaluer la ligne après avoir modifié la variable à 1. Voir le début du processus d'installation dans le ReadMe pour savoir comment évaluer une ligne de commande dans SuperCollider.
  2. Le fichier _3_Init_Pattern_182.scd doit être évalué, soit en sélectionnant tout le fichier ou bien simplement avec cette ligne dans le fichier _0_Init_Live4Life.scd. Si cette ligne a déjà été évaluée, arrêtez l'exécution de certaines fonctions du langage via Stop dans the menu Language ou le raccourci clavier Control (on Windows) / Command (on Mac) + . et ré-évaluez le fichier _3_Init_Pattern_182.scd comme indiqué précédemment.

Détails des données sonores générées à partir de SuperCollider et transmises via OSC à Processing

Globalement, deux types d'informations sonores sont transmises à Processing :

Les informations de haut niveau :

  1. sur chacun des événements sonores (contrôlés par l'interface graphique) venant du langage, comme :

Cette liste de paramètres pour chaque événement sonore déclenché n'est pas exhaustive et pourrait inclure plusieurs autres types de paramètres. Des dizaines, voire des centaines d'événements, peuvent être générés en même temps dans une même piste. Les données des paramètres des événements sont accumulées dans des listes dans Processing et retirées en fonction de leurs durées.

  1. sur le signal sonore venant du server audio en temps-réel :
  • a : le volume perçu,
  • b : la hauteur (pitch),
  • c : certaines informations sur le spectre sonore, comme :
    • le centroïde spectral (fréquence moyenne pondérée, brillance perceptive d'un signal, masse centrale d'un spectre, zone de fréquences la plus importante du point de vue perceptif),
    • la complexité d'un signal (spectral flatness : sinus = 0 et bruit blanc = 1),
    • un indicateur de la présence de pics dans la distribution de l'énergie spectrale (FFT crest : sinus = 1 et bruit blanc = 0),
    • la dispersion spectrale (FFTSpread),
    • la dissonance (SensoryDissonance : consonance = 0 et dissonance = 1),

Les informations de bas niveau :

  1. La représentation spectrale du signal sonore venant du server audio : les données FFT du spectre sonore,

  2. On pourrait aussi éventuellement la représentation temporelle de l'onde : valeur du sample audio représentant des milliers d'informations par seconde.

Il aurait été intéressant d'utiliser les informations de bas-niveau pour détailler chaque information de haut niveau et plus particulièrement pouvoir regrouper ensemble les informations sur l'évènement et le signal sonore. Mais les ressources de calcul seraient trop importantes. On aura donc une information segmentée précise des évènements et en arrière fond une quantité considérable d'informations globales sur le signal sonore, mais malheureusement "déconnectée" des évènements sonores.


Mapping

Clone this wiki locally