4- Interagir avec la musique
Transcription
4- Interagir avec la musique
4- Interagir avec la musique : Outils pour communiquer des informations musicales 4.1 le V-jing Dubfire, Quayola 4.2 Le Midi / OSC , protocole de communication les normes Midi et Osc Utilisation d'une partition et d'un fichier midi Utilisation d'outils interactifs 4.3 Etudes de cas dans Touch Designer (outil dédidé au temps réel : installations/performances) Interagir avec un piano Communication entre logiciels Utilisation d'un capteurs via Arduino 4- Interagir avec la musique 4.1 Le Vijing Dans les années 1960 à San Francisco, des spectacles visuels donnés par des collectifs d'artistes comme The Joshua Light et The Brotherhood of Light, inspirés par la Beat Generation, ont accompagné les concerts de The Grateful Dead. The Exploding Plastic Inevitable, organisé par Andy Warhol, a également contribué à la fusion de la musique et de l'image dans un contexte festif. Dans les clubs et les évènements privés « les gens utilisaient des liquides rétroprojetés, des boules disco et des projections de lumière sur de la fumée pour donner de nouvelles sensations au public. Certaines de ces expériences étaient liées à la musique, mais la plupart du temps elles n'étaient que des décorations4 ». Elles furent appelées « liquid light shows ». À la fin des années 1970 la collaboration entre la musique et la vidéo devint plus proche. Des groupes comme Cabaret Voltaire commencèrent à utiliser du matériel de montage vidéo peu cher pour créer leurs propres visuels pour leurs travaux sonores. Quelques groupes commencèrent à régulièrement montrer des images pendant leurs concerts. L'usage écrit du terme « vidéo-jockey » a fait son apparition sur la fiche de paye de Merrill Aldighieri en mai 1980 dans une boite de nuit à New York, appelée HURRAH. Elle a improvisé en interprétant la musique du DJ en temps réel avec l'aide d'une installation vidéo, de projections de caméras vidéo live, de cassettes vidéos variées, et de trucages multimédia avec les miroirs et projections de boucles 16 mm. 4- Interagir avec la musique Quelques artistes Mira Calix https://www.youtube.com/watch?v=N5WjlTOAyOY&index=1&list=RDN5WjlTOAyOY Festival VisionSonic à Main d'Oeuvre trailer 1024 architecture Crise - Live Murmur Chevalvert Agence Cumulus Vjing classique MemoAkten Toca 8' 4- Interagir avec la musique 4.1 Le Midi / OSC , protocole de communication 4.1 Le Midi / OSC , protocole de communication Le Musical Instrument Digital Interface ou MIDI est un protocole de communication et de commande permettant l’échange de données entre instruments de musique électronique, un ou plusieurs de ces « instruments » pouvant être des ordinateurs. Il est géré par l’International Midi Association. La liaison est unidirectionnelle (simplex). Le grand atout de ce protocole est son interactivité : il sert à la fois pour la commande et pour l’enregistrement. Sous ce terme sont regroupées plusieurs normes, relatives au protocole logique, à l’interface physique, au format de fichier et à l’attribution des sons (GM). Open Sound Control L'Open Sound Control est un format de transmission de données entre ordinateurs, synthétiseurs, robots ou tout autre matériel ou logiciel compatible, conçu pour le contrôle en temps réel. Il utilise le réseau au travers des protocoles UDP ou TCP et apporte des améliorations en termes de rapidité et flexibilité par rapport à l'ancienne norme MIDI. 4- Interagir avec la musique 4.1 Le Midi / OSC , protocole de communication Le Midi Le système apparait en 1982 pour que les fabriquant et devellopeurs d'instruments de musique electroniques incluent un set d'hardware dans leur matériel. En 1983, le MIDI 1.0 est officielement sorti par the International MIDI Association La première démonstration publique eut lieu lors du NAMM de 1983, entre un Jupiter6 (Roland) et un Prophet-600 (Sequential Circuits), par leurs deux représentants et fondateurs, Mr K pour Roland et Dave Smith pour Sequential Circuits. Dave Smith est un des concepteurs de la norme MIDI. L'ordinateur Atari ST est considéré comme la machine ayant popularisé la norme MIDI auprès du grand public, et plus particulièrement des musiciens, notamment en raison de ses prises MIDI intégrées et de la qualité de ses séquenceurs1. Le MIDI est un protocole de transmission unidirectionnelle d'informations sous forme numérique en temps réel utilisé par les instruments électroniques pour communiquer entre eux. Mais attention, le MIDI ne transmet pas de signal audio mais uniquement des données de commande destinées au pilotage d'appareils répondant à ce standard. 4- Interagir avec la musique 4.1 Le Midi / OSC , protocole de communication Le protocole Midi permet de communiquer très facilement avec 16 destinataires différents (Channel 1-16). Ces 16 canaux véhiculent des informations indépendantes, ou chaque récepteur interprète les données du canal qui lui est affecté. Physiquement, il s'agit d'un connecteur DIN à 5 broches (IN - OUT - THRU). Les signaux restent valides pour des courtes distances (inférieur à 15m); une interface est nécessaire pour les longueurs plus importantes. 4- Interagir avec la musique 4.1 Le Midi / OSC , protocole de communication Il est possible de connecter en série de nombreux appareils à l'aide des prises Thru pour contrôler à l'aide d'un seul emetteur l'ensemble des appareils. Il était possible d'avoir une prise Midi que l'on branche sur notre carte son avec le port Joystick, on utilise aujourd'hui l'usb. Le Midi va aussi nous permettre de communiquer entre deux logiciels sur un même ordinateur ou eventuellement entre deux ordinateurs. Pour synchroniser image et son ou parfois pour traiter des informations dans un logiciel externe (reconnaissance/tracking/analyse sonore) 4- Interagir avec la musique 4.1 Le Midi / OSC , protocole de communication MIDI Data Format La majorité des communications MIDI consistent en des packages de byte, un de statut suivit d'une ou deux données. Status bytes commencent par un 1, Data bytes par 0. Exemple de message : Note Off, Note On, Poly Key Pressure, Controller Change, Program Change, Channel Pressure, Pitch Bend Par exemple: 144 60 127 - turn ON note #60 on MIDI channel 1 with a velocity of 127 144 60 0 - turn OFF note #60 on MIDI channel 1 La vélocité correspond à la vitesse mais elle traduira la force du son (le volume). Sur les vieux synthétiseur au moment de la création de cette norme, les synthétiseur n'ont pas de capteurs de pression, la vitesse d'attaque permettra de définir la force sur la touche. 4- Interagir avec la musique 4.1 Le Midi / OSC , protocole de communication Les informations sont envoyées de manière numérique (c’est-à-dire non analogique), en série, à une vitesse de 31 250 bauds, soit approximativement 3,8 Ko/s. Chaque connexion envoie des messages musicaux standard, comme note-on (début de note), note-off (fin de note), volume, pitch-bend (modulation de la hauteur de la note) et des signaux de modulation codés avec un identificateur de canal (il peut y en avoir jusqu’à 16). Les messages de note vont du C-1 (note 0, située 5 octaves en dessous du C4 situé sous la partition en clé de sol, soit 8,175 Hz) au G9 (note 127, soit 5 octaves au-dessus du sol moyen soit 12 557 Hz) avec une résolution d’un demi-ton. Le pitch peut être réglé de ± 1/2 ton avec une précision d’ 1/4 096 de demi-ton au moyen du message pitchbend. On trouve ainsi des convertisseurs MIDI pour la plupart des instruments de musique (trompettes, guitares, etc.). Cela permettra, par exemple, de jouer du piano avec une guitare ou encore du synthétiseur avec une trompette. 4- Interagir avec la musique 4.1 Le Midi / OSC , protocole de communication Contrôleur MIDI Les contrôleurs MIDI sont des surfaces de contrôles pouvant posséder des touches, des fader, des pads ou des boutons rotatifs. Ces contrôleurs ne sont pas des périphériques de gestion du son ou de restitution ; ils ne produisent que des données MIDI. Jean Michel Jarre utilisait une harpe virtuelle, faite de lasers, comme surface de contrôle. Ces contrôleurs peuvent avoir un écran LCD rétro-éclairé. Quels que soient les éléments qui composent la surface de contrôle, tous les boutons, curseurs, faders, touches, pads sont assignables à chaque élément de l’interface visuelle du logiciel grâce à des setups (fichiers de configuration). En concert pour l’éclairage, le MIDI laisse place au protocole de communication basé sur câble XLR : le DMX (voir X10). 4- Interagir avec la musique 4.1 Le Midi / OSC , protocole de communication Format de fichier MIDI Le format de fichier MIDI SMF (standard MIDI file) a été défini en 1988, pour stocker les commandes MIDI sur disquettes en y ajoutant des informations temporelles. On peut les créer soit en connectant un instrument MIDI à l’entrée MIDI d’un ordinateur, soit à l’aide d’un logiciel séquenceur. Le format MIDI est très compact. Il y a 3 formats différents de fichiers MIDI : 0 : une seule piste contenant les messages des 16 canaux ; 1 : plusieurs pistes jouées simultanément ; 2 : plusieurs pistes jouées séquentiellement (rarement utilisé). Les fichiers sont le plus souvent de type « 1 », car il est plus pratique de séparer les pistes, mais certains synthétiseurs ne supportent que le format 0. Des logiciels divers permettent de convertir un format en un autre. Actuellement, un fichier midi standard se présente avec l’extension .mid ou .midi. 4- Interagir avec la musique 4.1 Le Midi / OSC , protocole de communication The Open Sound Control 1.0 Specification Version 1.0, March 26 2002, Matt Wright Introduction Open Sound Control (OSC) est ouvert, indépendant, protocol de communication dévellopé pour la communication entre ordinateur, synthétiseur, et autres appareils multimédias. Il ya de nombreuses implémentations de l'OSC (ex: dans TouchDesigner) pour des applications musicales temps réel, des outils webs interactifs, dans de nombreux langages de programmation mais aussi pour gérer des capteurs et de l'hardware. Il permet de communiquer n'importe quel type de donnée contrairement à la norme Midi : int, float, string,.... Il utilise les ports réseaux au travers des protocoles udp et tcp. 4- Interagir avec la musique 4.1 Le Midi / OSC , protocole de communication la communication série : RS-232 Disponible sur presque tous les PC jusqu'au milieu des années 2000, le port RS-232est communément appelé le « port série ». Sur les systèmes d'exploitation MS-DOS et Windows, les ports RS-232 sont désignés par les noms COM1, COM2, etc. Cela leur a valu le surnom de « ports COM », encore utilisé de nos jours. Cependant, il est de plus en plus remplacé par le port USB. On fixe un nombre de bits par seconde lorsque l'on ouvre la communication. C'est la communication que l'on utilise depuis l'Arduino (pour communiquer avec des capteurs, moteurs,...). On pourra directement récupérer cette information dans certains logiciels sinon il faudra générer un signal midi ou osc depuis le langage de programmation Arduino. 4- Interagir avec la musique 4.1 Le Midi / OSC , protocole de communication Animer à partir d'une partition Midi (avec le logiciel Houdini) On peut récupérer la partition d'un morceau en .midi, en la synchronisant avec un fichier audio on va pouvoir récupérer toutes les informations nécessaires à une animation sur la musique. Exemple de données accesible, on va pouvoir identifier : - le rythme : un évenement marquant le début de chaque mesure - On pourra en déduire le temps passé et restant au sein de cette même mesure - les débuts et fin de phrases mélodiques - la durée des phrases pour anticiper la fin d'une phrase - les notes de tensions et les notes de résolutions 4- Interagir avec la musique 4.1 Le Midi / OSC , protocole de communication À partir de ces informations, il va alors être possible d'animer nos éléments : 1- “Mapper” une information sonore avec un attribut : de position, de déformation, de vitesse,... On utilisera des fonctions de type fit( value, min , max, NewMin, NewMax) (linear dans after effects) 2- lire une animation à partir d'un évenement -le lookup 3- créer une force à l'aide d'évenements, les systèmes dynamiques (type particules) vont créer l'animation 4- Interagir avec la musique 4.1 Le Midi / OSC , protocole de communication Générer un fichier midi à partir d'un logiciel d'animation Il va aussi être possible de générer un fichier midi à l'intérieur même d'un logiciel d'animation 3D comme Houdini. Cela va par exemple pouvoir permettre : - de synchroniser des sons avec l'animation : - un bruit de pas avec un personnage qui marche - des impactes de balles ou divers bruitages - de spatialiser le son : - il va être possible de prendre en compte la position d'un son pour exporter son volume sur différents “micro” virtuels, cela fonctionne avec la stéréo mais ça sera encore mieux avec un son 5.1 ou mieux... En production, ces systèmes sonores sont très peu utilisé car le designer sonore passe autant de temps à positionner lui même ces bruitages qu'à utiliser un fichier midi. Cependant ces systèmes peuvent permettre de proposer une bande sonore très riche à vos films, projets... Car il serait fastidieux de positionner des centaines, milliers de sons. 4- Interagir avec la musique 4.1 Le Midi / OSC , protocole de communication Utiliser un capteur Midi dans Touch Designer De nombreux capteurs vont passer par des protocoles de communication, que ce soit des capteurs de pressions, capteurs de distance, capteurs de température, qui n'ont rien à voir avec la musique. Pour interfacer un capteur, on utilisera le plus souvent par une carte Arduino qui permet en Usb de connecter et controler différents périphérique en convertissant et controlant des courants électriques. Le synthétiseur sera alors considéré comme un capteur comme un autre. L'interface Midi ou Osc va nous permettre de récupérer ces informations. N'ayant pas de cable Midi sous la main on va simuler le synthétiseur à l'aide d'un logiciel de musique. 4- Interagir avec la musique 4.1 Le Midi / OSC , protocole de communication Communiquer entre deux logiciels De la même manière on va pouvoir communiquer entre deux logiciels à l'aide de ses protocoles de communication. On va devoir installer un driver de Midi virtuel qui va permettre d'envoyer des informations comme si elles venaient d'un instrument externe. Certains logiciels permettent même d'envoyer ces informations sur le réseaux pour communiquer entre différents ordinateurs. Certaines installations nécessitent plusieurs machines. Ici on va pouvoir par exemple controler Touch Designer un logiciel d'image à partir d'un logiciel Audio où sont par exemple composer nos morceaux. 4- Interagir avec la musique 4.1 Le Midi / OSC , protocole de communication Petite presentation Arduino Arduino est un circuit imprimé en matériel libre sur lequel se trouve un microcontrôleur qui peut être programmé pour analyser et produire des signaux électriques, de manière à effectuer des tâches très diverses comme la domotique (le contrôle des appareils domestiques - éclairage, chauffage…), le pilotage d'un robot, etc. C'est une plateforme basée sur une interface entrée/sortie simple. Il était destiné à l'origine principalement mais pas exclusivement à la programmation multimédia interactive en vue de spectacle ou d'animations artistiques. C'est une partie de l'explication de la descendance de son interface de programmation de Processing. Arduino peut être utilisé pour construire des objets interactifs indépendants (prototypage rapide), ou bien peut être connecté à un ordinateur pour communiquer avec ses logiciels (ex. : Macromedia Flash, Processing, Max/MSP, Usine Hollyhock, Pure Data, SuperCollider). 4- Interagir avec la musique 4.1 Le Midi / OSC , protocole de communication Récupérer des informations d'un capteur Arduino Depuis un code Arduino il est possible d'envoyer des informations Midi ou Osc. Mais dans le cadre du logiciel Touch Designer il est possible de directement avoir acces aux différents port de communication COM1/COM2/... On va alors regarder comment récupérer les informations d'un capteur quelqueconque, ici une photorésistance. (en lien avec le cinéma optique) On envoie un courrant de 5V sur la photorésistance et l'on peut venir récupérer ce courrant pour mesurer la tension grace aux entrées ANALOG IN. 4- Interagir avec la musique 4.1 Le Midi / OSC , protocole de communication Quelques type de capteurs : http://www.selectronic.fr/ - Micro / Caméra - interupteur 0 / 1 - capteurs de pression - capteur tactile : detecte un contact avec une surface - accéléromètre : mesure l'accélération -> déplacement - GPS - température - ultrasons /infrarouge - boussole/inclinomètre - gaz ... 4- Interagir avec la musique 4.1 Le Midi / OSC , protocole de communication Presentation de Processing Equivalent C++ OpenFrameWorks ou Cinder Processing is a programming language, development environment, and online community. Since 2001, Processing has promoted software literacy within the visual arts and visual literacy within technology. Initially created to serve as a software sketchbook and to teach computer programming fundamentals within a visual context, Processing evolved into a development tool for professionals. Today, there are tens of thousands of students, artists, designers, researchers, and hobbyists who use Processing for learning, prototyping, and production. » Free to download and open source » Interactive programs with 2D, 3D or PDF output » OpenGL integration for accelerated 3D » For GNU/Linux, Mac OS X, and Windows » Over 100 libraries extend the core software » Well documented, with many books available 4- Interagir avec la musique 4.1 Le Midi / OSC , protocole de communication Presentation de Processing : SoundMachines by The Product, a berlin-based studio for spatial and media-related design FINE COLLECTION OF CURIOUS SOUND OBJECTS from Georg Reil kinograph.cc by Matthew Epler, 2013 mycelium_leedsmind_ben from Ryan Alexander Strata 1-4 by David Quayola FerroFluid by flight404 4- Interagir avec la musique 4.1 Le Midi / OSC , protocole de communication Faire un petit programme Processing Fonction setup and Draw Fonction setup appellé 1 fois pour initialiser Fonction Draw appellé à chaque image (20 à 100 fois par secondes) Exemple : dessiner avec la souris Utiliser le protocole de communication OSC Regardons à quoi ressemble la communication OSC. On utilise une librairie, J'ai choisi d'utiliser le logiciel Processing (logiciel de programmation d'image gratuit) et toujours TouchDesigner. Ici je peux envoyé n'importe quel type de message : un nombre, un texte, un réel,... et j'utilise un port udp. 4- Interagir avec la musique 4.1 Le Midi / OSC , protocole de communication Travailler avec un fichier audio dans Processing : Minim librairie : AudioPlayer: Mono and Stereo playback of WAV, AIFF, AU, SND, and MP3 files. AudioMetaData: An object filled with metadata about a file, such as ID3 tags. AudioRecorder: Mono and Stereo audio recording either buffered or direct to disk. AudioInput: Mono and Stereo input monitoring. AudioOutput: Mono and Stereo sound synthesis. FFT: perform a Fourier Transform on audio data to generate a frequency spectrum. BeatDetect: a class for doing beat detection. A real-time synthesis framework based around unit generators, which we call UGens. 4- Interagir avec la musique 4.1 Le Midi / OSC , protocole de communication Court metrage : Folimage Conférence TouchDesigner Resonate 2013 – 39' Klaus Obermaier Resonate 2013 45' Golan Levin Ted 15' Resonate 2013 – 57'