-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Analyse du signal audio et génération d'OSC en conséquence #176
Comments
Je laisse ici une description de MapSPAT, avec l'idée de s'en inspirer éventuellement pour ajouter certaines fonctions de MapSPAT dans ControlGRIS. Développé avec Jean-Philippe Jullin depuis 2023, l'objectif principal est de créer une spatialisation liée aux variations du spectre sonore en temps réel. Exemple : une augmentation de l'intensité crée une trajectoire du bas vers le haut et les vitesses des deux variations, sonore et spatiale sont corrélées. L'outil est un patch MaxForLive (qui fonctionne aussi comme patch MaxMsp standalone) qui peut être utilisée à la place ControlGRIS dans l'architecture de SpatGRIS. La différence avec ControlGRIS est que MapSPAT reçoit l'audio de la piste. Cet audio est analysé par les descripteurs audio FluCoMa basés sur la perception humaine. Les données de cette analyse peuvent contrôler les paramètres spatiaux (j'utilise l'exemple du mode DOME, mais cela fonctionne aussi avec CUBE) Azimut, Élévation, Span Vertical et Span Horizontale. Il est donc possible de créer des trajectoires d'Azimut et d'Élévation et des variations des Spans liées aux valeurs obtenues par l'analyse des descripteurs. MapSPAT envoie les signaux OSC de spatialisation à SpatGRIS. Chaque paramètre spatial ne peut être associé qu'à un seul paramètre sonore. Les utilisateur-rice-s peuvent créer les correspondances qu'iels souhaitent entre les paramètres sonores et spatiaux. L'interface est illustrée ici. Voici quelques exemples d'utilisation. Ici, la Loudness contrôle l’Azimut et le Span Horizontale. La Loudness est mise à l'échelle à 291 % pour augmenter sa portée et le paramètre de lissage est au maximum pour avoir une variation plus uniforme. L'azimut commence à 292 degrés avec un Range de mouvement à 100 %. Loudness.movIci, le Pitch contrôle l'élévation et l'azimut, créant ainsi une sorte de spirale. Ici, la hauteur du son change par une variation continue (glissando). Pitch.movIci, le Pitch contrôle l'azimut et l'étendue verticale. La plage d'analyse est réglée entre 60 et 599Hz. Ici, la hauteur du son change en fonction des intervalles de notes. Pitch2.movIci, le centroïde du spectre contrôle tous les paramètres spatiaux. L'analyse du centroïde est réglée entre 110Hz et 8,59kHz. Centroid.movIci, la largeur du spectre, Spread, contrôle l'azimut. Spread.movIci, l'analyse détecte la différence entre un son bruité et un son à hauteur repérable. On a appelé cette analyse Noise et ici les données issues contrôlent tous les paramètres spatiaux. Noise.movIci, la vitesse de répétition du son, Speed, contrôle l'azimut. Pour cette analyse, il faut définir un seuil de volume audio, un algorithme par rapport aux différents types des matières sonores, une valeur minimale et une valeur maximale de temps par rapport aux répétitions. Speed.movIl existe un système de préréglages automatisables qui permet d'effectuer différentes affectations le long d'une pièce. Je vous partage aussi le patch : Si jamais en glissant le device, il ne fonctionne pas, Jean-Philippe suggère de faire cela :
Les affectations de la matrice fonctionnent et sont sauvegardées avec le projet Ableton. Pour définir des paramètres spatiaux sans que les descripteurs audio aient une influence sur eux, il faut quand même mettre ce paramètre en correspondance avec un descripteur audio et régler le Range du paramètre spatial sur zéro. De cette manière les valeurs sont enregistrées avec le projet d’Ableton. |
Préparer ControlGRIS afin qu'il puisse analyser le signal audio et en fonction des descripteurs audio, exporter des données OSC qui génèrent des trajectoires issues du signal lui-même.
The text was updated successfully, but these errors were encountered: