# Année 2024 >> NaN au Chabada <div style="text-align:center;"> <img src="https://hackmd.io/_uploads/rkmY40woT.jpg" alt="LIVE-CODING-24_POSTER"> </div> --- :::success ### L’enjeu pour cette session 2024 est de la rendre participative. ::: ## **Cadre Narratif** Le fil narratif invite le public à embarquer dans un voyage sonore. **Titre** : Voyage sonore : Exploration Sonore : Atelier Éphémère : Échos Créatifs : Résonances Collectives : ... **Synopsis** : Le public est invité dans notre atelier où il est immergé dans notre processus créatif. Il y découvre les rouages de la création sonore en direct. Chaque participant va pouvoir jouer un rôle et devenir l’artisan de sa propre expèrience à partir de nos matières sonores et des interfaces physiques mis à disposition. **Partie 1** : L'Appel à l'Aventure : Au début du concert, les participants sont accueillis dans un univers sonore énigmatique. (on peut proposer l’interface Camera qui détecte le public ? ). Une voix et son pantain invite le public à la recherche de nouveaux sons et de nouvelles expériences. La voix et son pantain présente l'atelier qui révèle un espace rempli d'instruments électroniques, de gadgets sonores et de machines. **Partie 2** : L'Exploration des Sons : Les participants sont guidés à travers différentes stations interactives, chacune offrant une opportunité unique de créer des sons. Ils peuvent manipuler des interfaces électroniques, toucher des surfaces tactiles, ou même interagir avec des capteurs de mouvement pour produire des sons uniques. À chaque station, ils sont encouragés à expérimenter, à écouter attentivement et à ajuster leurs créations pour obtenir le son qui leur convient. **Partie 3** : Le Live L’ensemble de la matière sonore explorée par le public est activée dans une proposition collective finale (uniquement les étudiant.es de NaN). Ce live se déroulera à partir de Troop sans réactiver les interfaces, seule la matière sonore est réutilisée. **Conclusion** : Les participants repartent avec le souvenir d'une aventure musicale singulière. Guidés à travers une expérience immersive et collaborative. Ils comprennent que le processus de création sonore est un voyage continu, où l'exploration, l'écoute et l'ajustement sont essentiels. (c’est beau!) Pour impliquer le public et présenter les consignes de manière claire et engageante sans être trop dans l'animation de centre de loisirs. Voici quelques propositions 1. **Affichage Visuel** : Utilisez des écrans pour afficher les consignes de manière claire et concise. Illustrations / schémas / icônes pour rendre les instructions plus intuitives et faciles à comprendre. 2. **Guides de Station** : Placez des guides aux différentes stations interactives. Les guides peuvent accueillir les participants, leur expliquer brièvement le fonctionnement de chaque station et répondre à leurs questions tout au long de l'expérience.. 3. **Démos en Direct** : Organisez une démonstration en direct où les guides présenteront les différentes interfaces électroniques et expliqueront comment les utiliser pour créer des sons. Ces démos permettront aux participants de voir les outils en action avant de les utiliser eux-mêmes. 4. **Instructions Audio** : Diffusez des instructions audio par l’intermédiaire du pantin permettant de suivre les consignes. ## Prise de parole du Pantin .. Bonsoir tout le monde ! .. Nous sommes l'atelier Not a Number .. Bienvenue au Chabada pour cette troisième édition de notre sortie de fabrique annuelle. .. Déjà, pour ceux qui ne sont pas au courant, l'atelier Not a Number, ou NaN pour les habitués, c'est un temps où les étudiants de Polytech et des beaux-arts de la ville d’Angers se retrouvent pour fabriquer ensemble chaque semaine depuis 2015. .. L'idée, c'est de partager des experiences sans s’inquiéter de savoir si ceux ou celles qui les échangent sont légitimes pour le faire. .. Chez nous, on évite les logiques binaires qui encourageraient les artistes à faire de l'art et les ingénieurs à être ingénieux. .. Ici tout le monde propose, fabrique, fait, défait, refait et ça donne des trucs intéressants ou pas. .. Ce qui est sûr c’est que l’influence des pratiques entre elles, quelles qu’elles soient, sera semblable et déterminante dans notre démarche. .. Depuis quelques années maintenant, nos expérimentations se concentrent autour de la pratique du LiveCoding. .. C'est quoi, me direz-vous ? .. Eh bien, c'est rien d’autre qu’une performance live devant un public. .. Sauf qu’avec le LiveCoding le musicien utilise la technique de programmation informatique pour commander ses compositions et interagir avec son public. .. C'est encore une scène émergeante, mais qui prend forme depuis quelques années au niveau nationale et internationale . .. Nos invités pour la deuxième partie de soirée, Raphaël Forment et Agathe Herrou, en seront les exemples vivants. .. Normalement, pendant la performance, l’artiste pianote sur son clavier d’ordi et le public regarde ce qui se passe sur un écran, comme si il observait un guitariste en train de pincer les cordes de sa guitare. .. Mais pas ce soir, les amis ! .. Non, cette année, vous serez bien plus que de simples spectateurs, vous serez les maîtres d'œuvre de l'expérience sonore qui se déroulera devant vous ! .. Imaginez-vous dans notre atelier où chaque sonorité est considérée comme une pièce d'un puzzle que nous allons constituer ensemble. .. Rassurez vous le LiveCoding, ce n’est que de la musique …. .. Nous aurons donc besoin d'écoute, d'adaptation et de surprises. .. Maintenant, vous vous demandez sûrement comment vous allez pouvoir participer si vous ne connaissez rien à nos règles informatiques ? .. Pas de panique ! Comme on vous l'a dit, nous sommes devenus des experts de la mutualisation de compétences. .. On a donc fait notre part avant de vous proposer de faire la vôtre. .. On a créé des interfaces physiques spéciales qui vont vous permettre de modifier et de jouer avec le son sans avoir besoin de taper une seule ligne de code. .. Vous voulez prendre le contrôle ? .. Vous voulez être aux commandes de cette soirée ? .. Vous voulez explorer les sons, les modifier selon vos envies et sélectionner ceux qui feront vibrer le cœur du Chabada ? .. On compte sur vous pour faire de cette soirée un moment mémorable (*mais sachez qu'on déclinera toute responsabilité en cas d'échec*) ! .. Si vous avancez sur scène, vous décidez d’être dans la lumière, celle qui est habituée aux artistes .. Ceux qui décident de ce qu’ils veulent partager avec le public ! .. Alors, Prêts à décider, prêts à faire vibrer le Chabada ? .. Qui est chaud pour se lancer? .. Voici le premier module .... ........ **Copie pour modif:** Bonsoir tout le monde ! Je vous demandes votre attention Nous sommes l'atelier Not a Number Bienvenue au Chabada pour cette troisième édition de notre sortie de fabrique annuelle. Dans un premier temps, pour ceux qui ne sont pas au courant, l'atelier Not a Number, c'est un temps où les étudiants de Polytech et ceux des beaux-arts de la ville d’Angers peuvent se retrouver pour fabriquer ensemble, chaque semaine et ce depuis 2015. L'idée, c'est de partager des expériences sans s’inquiéter de savoir si ceux ou celles qui les échangent sont légitimes pour le faire. Chez nous, on évite les logiques binaires qui encourageraient les artistes à faire de l'art et les ingénieurs à être ingénieux. Ici tout le monde propose, fabrique, fait, défait, refait et ça donne des trucs comme ce que vous allez voir ce soir. Ce qui est sûr c’est que nos pratiques s’influencent entre elles, et c’est ce qui détermine notre démarche. Depuis quelques années maintenant, nos expérimentations se concentrent autour de la pratique du LiveCoding. C'est quoi, me direz-vous ? Le Live coding. Eh bien, c'est rien d’autre qu’une performance live devant un public. Sauf qu’avec le LiveCoding le musicien utilise la technique de programmation informatique pour commander ses compositions et interagir avec son public. C'est encore une scène émergente, mais elle prend forme depuis quelques années. Nos invités pour la deuxième partie de soirée, Raphaël Forment et Agathe Herrou, en seront les exemples vivants. Vous pouvez déjà les applaudir Normalement, pendant une performance de Livecoding, l’artiste pianote sur son clavier d’ordinateur et le public regarde ce qui se passe sur un écran, tout comme si il observte un guitariste en train de pincer les cordes de sa guitare. Mais pas ce soir, les amis ! Oui, cette année, vous serez bien plus que de simples spectateurs, on vous propose d’être les maîtres d'œuvre de l'expérience sonore qui se déroulera devant vous ! Alors, vous vous demandez, bien sûr, comment vous allez pouvoir participer si vous ne connaissez rien à nos règles informatiques ? Pour ce soir nous avons créé des interfaces physiques spéciales qui permettent de modifier et de jouer avec le son sans avoir besoin de taper une seule ligne de code. Vous pouvez commencer à réfléchir si vous voulez être aux commandes de cette soirée ? Car nous cherchons 7 volontaires pour venir à nos côtés explorer les sons, les modifier et sélectionner ceux qui feront vibrer le cœur du Chabada ? Vous serrez accompagné dans cette tache de Lena, Edouard, Nouy, Rémi et Bérangère. Avec qui vous composerez en dialogues, comme une conversation sonore. Imaginez-vous dans notre atelier où chaque sonorité est considérée comme une pièce d'un puzzle que vous allez constituer ensemble. Rassurez-vous le LiveCoding, ce n’est que de la musique …. Le tout c’est de prendre le temps de lécoute, de l'adaptation et de la surprise. Si vous êtes volontaires, merci de vous signaler pour que nous puissions venir vous charcher. Je vous laisse donc entre les mains de vos hôtes. On compte sur vous pour faire de cette soirée un moment mémorable. Et sachez que vous porterer l'entière responsablité en cas d'échec ! Bonne concert. ## Modules Liste des modules définitifs : :::info * **Texte** : des volontaires raconte une histoire, le texte généré construit les séquences de notes jouées par des players. ```python= # lignes de codes ``` ::: :::warning * **Disques (Potentiomètre)** : ```python Clock.bpm=160 Clock.bpm=120 #Potar 1 Percussion : #Etat 1 k2 >> play ("t ",sample=0,amp=0.4,rate=0.3,room=0.2,mix=0.1,pan=sinvar([1,-1],1))#.stop() h4.stop() #Etat 2 h1 >> play (" n",sample=0,room=0.2,rate=1,amp=0.1)#.stop() #Etat 3 k1 >> play ("X X X ",sample=2,amp=0.3,lpf=600)#.stop() #Etat 4 k1.lpf=1200 #Etat 5 k1 >> play ("X X ",sample=2,amp=0.3,lpf=2200)#.stop() #Etat 6 s1 >> play (" O O ",sample=1,amp=0.2,lpf=750) #Etat 7 s1.lpf=2250 #Etat 8 s1.lpf=0 #Etat 9 h2 >> play ("n",sample=4,amp=0.1)#.stop() #Etat 10 h3 >> play ("[nn]",sample=4,amp=0.05)#.stop() #Etat 11 h4 >> play ("n", oct=1, dur=(1, 1/2, 1/2, 1, 0, 1, 0, 1, 1/2, 1/2, 1, 0, 1, 1/2, 1/4, 1), sample=4,amp=0.05) h1.stop() h2.stop() h3.stop() #Etat 12 k2 >> play ("t ",amp=0.5,pan=0) k1.stop() s1.stop() #Potar 2 Bass : #Etat 1 b1 >> jbass ([1.5,5.5,7,4.5],dur=[8],sus=[8],lpf=100,oct=3,amp=0.2)#.stop() #Etat 2 b1.lpf=300 #Etat 3 b2 >> filthysaw ([1.5,5.5,7,4.5],dur=[8],sus=[8],lpf=300,oct=3,amp=0.1,tremolo=0)#.stop() #Etat 4 b2.lpf=600 #Etat 5 b2.lpf=900 b2.tremolo=1 #Etat 6 b2.tremolo=2 #Etat 7 b3 >> angel ([1.5,5.5,7,4.5],dur=[8],sus=[8],oct=2,amp=0.2)#.stop() #Etat 8 b3.oct=3 #Etat 9 #Etat 10 #Etat 11 #Etat 12 #Potar 3 Lead : #Etat 1 l1 >> angel ([(1.5,8.5),(0,7),(-1.5,5.5),(0,7),(0,7),(-2.5,4.5)],oct=5,dur=[4,4,8,7,1,8],sus=[4,4,8,7,1,8],amp=0.2)#.stop() #Etat 2 l1.chop=[4,4,8,7,1,8] #Etat 3 l1.chop=[8,8,16,14,2,16] #Etat 4 l2 >> harp ([1.5,1.5,1.5,1.5,3,1,1,1,1,1.5,0,0,0,0,1.5,0,0,0,0,1],oct=6,dur=[2,2,2,1,1],sus=[2,2,2,1,1],amp=0.2,spin=0)#.stop() #Etat 5 l2.spin=4 #Etat 6 l3 >> harp ([None,-1.5,None,-1.5,None,-1.5,None,-1.5,None,-1.5,None,-1.5,None,-1.5,None,-1.5,None,-3,None,-3,None,-3,None,-3,None,-2.5,None,-2.5,None,-2.5,None,-2.5],oct=6,dur=[1],sus=[1],amp=0.1,spin=0)#.stop() #Etat 7 l3.spin=4 #Etat 8 l4 >> charm ([1.5,5.5,7,4.5],dur=[8],sus=[1],oct=6,room=2,mix=0.5,amp=1) #Etat 9 #Etat 10 #Etat 11 #Etat 12 #Potar 4 Voice : #Etat 1 #Etat 2 #Etat 3 #Etat 4 #Etat 5 #Etat 6 #Etat 7 #Etat 8 #Etat 9 #Etat 10 #Etat 11 #Etat 12 ``` ::: :::success * **Caméra / Séquenceur** : Des volontaires peuvent actionner les variations de 8 lignes différentes (4 lignes de batteries et 8 lignes de Synthés). Chaque ligne est matérialisée à l'écran par 8 horizontales de 8 carrés chacune. Pour activer ou désactiver chaque carré, qui correspond à des états différents de chaque ligne, le volontaire devra toucher son pouce et son index à l'intérieur de chaque carré souhaité. ```python #Ligne n°1 / batterie p1 >> play('X') #Ligne n°2 / batterie p2 >> play('-') #Ligne n°3 / batterie p3 >> play('*') #Ligne n°4 / batterie p4 >> play('c') #Ligne n°5 / Synthé #bouton1 m1 >> pbass(var([[2,4,2],[2,4,2]],[1,2,2,1]),amp=0.3,dur=1, bpm=120,oct=5,amplify=1) #bouton2 m1.oct=[5,4] #bouton3 m1.oct=var([4,5],[1,1,2,1,2]) #bouton4 m1.oct=var([[6,5,4],[4,5]],[1,2,2,1,1]) #bouton5 m1.dur= var([0.5,0.5,0.25],[0.5]) #bouton6 m1.dur=var([0.25,0.5,0.5,0.5,0.25,0.5],[0.5]) #bouton7 m1.amp=[0.3,0,0.3,0.3,0.3,0.3,0,0.3] #bouton8 m1.amp=[0.3,0,0.3,0.3,0.3,0.3,0.3,0.3] #Ligne n°6 / Synthé #bouton1 m2 >> pasha (var(P[[0,-2,0,-4,-2,-6,-4,-2,-4,-6]]+[1,2,3,4],[0.25,0.5,0.75,0.25,1,1,1]),dur=2,amp=0.5,bpm=120,lpf=3000,oct=4,sus=0.25,amplify=1) #bouton2 m2.dur= var([1,1,0.5],[1,0.25,0.5,1]) #bouton3 m2.dur= var([1,0.5,0.25],[1,0.25,0.5,1]) #bouton4 m2.oct=var([[6,5,4],[4,5]],[1,0.25,0.5,1]) #bouton5 m2.lpf=7000 #bouton6 m2.lpf=var([[6000,500,2500],[1500,7000]],[1,0.25,0.5,1]) #bouton7 m2.hpf=1000 #bouton8 m2.hpf=var([[1000,500,100],[500,90]],[1,0.25,0.5,1]) #Ligne n°7 / Synthé #bouton1 m3 >> acidbass (var([0,-2,-4,-2,-6,-4,-2,-2],[1]),oct=3,dur=1/2,amp=0.4,amplify=1) #bouton2 m3.amp=[0.4,0,0.4,0.4,0] #bouton3 m3.amp=[0.4,0,0.4,0.4,0.4,0.4,0,0.4,0.4,0.4] #bouton4 m3.oct=var([3,4],[4,1]) #bouton5 m3.dur= var([1,0.5,0.25],[0.5,1]) #bouton6 m3.dur= var([0.25,0.5,0.5],[0.5,0.25,0.5,1]) #bouton7 m3.spin=2 #bouton8 m3.formant=2 #Ligne n°8 / Synthé #bouton1 m4 >> pbass (var([[PTri(2, 7)],[0,2,4,2,6,4,2,2]],[1,2,1]) ,dur=1/2, amp=1,pan=[-1,1],amplify=1) #bouton2 m4.oct=var([5,[4,5]],[4,2]) #bouton3 m4.dur= var([0.5,[1,0.5],1],[0.5]) #bouton4 m4.dur= var([0.5,[1,0.5],1],[0.5,1]) #bouton5 m4.oct=var([4,[5,4]],[4,2]) #bouton6 m4.chop=2 #bouton7 m4.formant=1 #bouton8 m4.room=4 ``` ::: :::warning * **Ensemble de trois interfaces physiques.** * Interface 1 Capteurs capacitifs : 5 zones qui captent le touché. Le premier appuie sélectionne un des players et le second une phrase musicale (séquence de notes avec durée, effet...). * Interface 2 Capteurs de distance : 3 capteurs, chacun change l'octave du player associé. * Interface 3 Boulier magnétique : permet de changer le synthé pour 4 player individuellement, plus modification du bpm. L'objectif est d'avoir 5 players : * 3 avec 4 phrases musicales possibles, 4 synthé possibles et 3 valeurs d'octave possibles ; * 1 avec 4 phrases musicales possibles, 4 synthé possibles ; * 1 avec 4 phrases musicales possibles. ```python= """ Premier player """ d0 >> bell([None], amp=0.5, lpf=3000, oct=5) ## Les 4 phrases musicales d0.degree = [2,[0,2,4],6,[8,6,4]] d0.dur = [0.5,0.25,0.25,0.5,0.5,0.25] d0.degree = [2,2,4,4,2, 4, 6,6] d0.dur = [0.25,0.25,0.25,0.25,0.5,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.5] d0.degree = [2,[4,6],2,[0, 2]] d0.dur = [0.5,0.5,0.25,0.5,1] d0.degree = [[-2,6],[0,4],[2,2],4] d0.dur = [0.25,0.25,0.25,0.5] ## Les 4 synthé + les octaves par synthé d0.changeSynth(["bell"]) d0.amp = 0.5 d0.lpf = 3000 d0.oct = 5 #4 ou 5 ou 6 d0.changeSynth(["pluck"]) d0.amp = 1 d0.lpf = 5000 d0.oct = 4 # 4 ou 5 ou 6 d0.changeSynth(["piano"]) d0.amp = 1 d0.lpf = 3000 d0.oct = 5 # 4 ou 5 ou 6 d0.changeSynth(["blip"]) d0.amp = 1 d0.lpf = 5000 d0.oct = 4 # 4 ou 5 ou 6 """ Deuxième player """ s1 >> lapin([None],oct=4, dur=[1/4], lpf=4000, amp=0.5).spread() s1.pitch=var([0,7,4,9,5,3,3],[1/2,1],start=now) s1.pitch=var([0,7,4,9,5,11,11],[1/2,1],start=now) s1.pitch=var([0,7,4,9],[1/4,1/8],start=now) s1.pitch=var([0,7],[1/2,1/4],start=now) s1.sus=var([0.35,0.01],[14,2],start=now) s1.sus=var([0.35,0.01],[8,4],start=now) s1.sus=var([0.35,0.01],[4,4],start=now) s1.oct=var(3,4) s1.oct=var(4,5) s1.oct=var(5,6) s1.changeSynth(["lapin"]) s1.changeSynth(["soft"]) s1.changeSynth(["charm"]) s1.changeSynth(["risseto"]) """ Troisième player """ s3 >> rhodes([None],dur=1/2, lfpf=700, amp=1) s3.pitch=P[0,4,9,5].arp([0,4])+var([0,2],[4,2]) s3.amp = 1 s3.pitch=P[0,4,9,5].stutter()+var([0,2],[4,2]) s3.amp = 1 s3.pitch=P[0,4,9,5].shuffle()+var([0,2],[4,2]) s3.amp = 1 s5.pitch=P[0,4,9,5]+var([0,2],[4,2]) s3.amp = 1 s3.changeSynth(["organ2"]) s3.changeSynth(["angel"]) s3.changeSynth(["rhodes"]) s3.changeSynth(["sinepad"]) s3.oct=3 s3.oct=4 s3.oct=5 """ Quatrième player """ ## Les 4 phrases musicales s2 >> sawbass([None], dur=PDur(3,8)*2, sus=1/2, cutoff=var([750,2000],16), delay=(0,0.5), oct=(5,[4,6]), amp=var([0.3,0],[14,2])) s2.degree=var([3,6,2,5,1]) s2.dur=PDur(3,8) s2.degree=var([3,4,2,1]) s2.dur=PDur(3,8)*2 s2.degree=var([3,2]) s2.dur=PDur(3,8) s2.degree=var([3,2]) s2.dur=PDur(3,8)*2 ## Les 4 synthé s2.changeSynth(["sawbass"]) s2.lpf=3000 s2.changeSynth(["jbass"]) s2.lpf=1700 #s2.changeSynth(["pbass"]) #s2.lpf=2500 s2.changeSynth(["dbass"]) s2.lpf=2500 s2.changeSynth(["hoover"]) s2.lpf=1000 """ Cinquième player """ p1 >> play("X(x-)", dur=0.5, sample=0, lpf=0) p1 >> play("XuXxu", dur=[1,1,0.5,0.5,1], sample=0, lpf=0) p1 >> play("Xxxxx", dur=[1,0.25,0.25,0.25,0.25], sample=0, lpf=0) p1 >> play("XxXxx", dur=[1,1,1,0.5,0.5], sample=3, lpf=1000) ``` ::: :::danger * **kinect / mouvements de la main** : Des volontaires peuvent actionner les variations de 5 instruments différents. Chaque ligne est matérialisée à l'écran par zone verticale colorée. Le module peut être activé par une ou plusieurs personnes. ![kinect](https://hackmd.io/_uploads/rk5af7C26.jpg) - Il faut une ou plusieurs lignes pour chaque instrument. - Je peux faire varier une valeur (pitch, hpf, dur...) en fonction de la hauteur de la main. - Je peux aussi découper la colonne en sous parties pour faire des changements de ligne (ex: la colonne rouge change la percussion, avec un sample pour chaque case et la colonne verte change de mélodie) v est la variable qui varie en fonction de la hauteur de la main **Veuillez préciser entre quelles valeurs v votre ligne doit être jouée** ```python= # Voici les lignes que j'ai utilisé pour la démonstration # rouge: play("x ") play("s s ") play(" o ") play("--- ") play("t ") play(" X ") # bleu: pluck(v, dur=1) # v entre 0 et 10 # vert: # rectangle du bas: blip(v, dur=PDur(5, 8)) # v entre 0 et 4 # rectangle du haut: blip(P[P*(2, 3, 4), None] + v) # v entre 0 et 5 # jaune: pianovel(P[9, 7, 6, 7, 5, 7, 6, 7] + v, dur=0.5) # v entre 0 et 10 # mauve: bbass(v) + (1, 3, 5) # v entre -5 et 5 # =============== # Vos lignes ici: # =============== # ... ``` ::: ## Live Final [Page pour partitions du Live Final >>>> ICI](https://hackmd.io/gQGhJKhDSXGF2hCbFY1kYw?view) --- **Lignes disponibles** ```python p1 >> soprano ([-4, 8, 6, -2] + [3, -9, 5], dur=[12,8,10,6]+[5,9,3], amp=0.8, oct=[2,8,4,6], mix=3, room=2, root=var([0, 4], 8), pan=(1,-1)) p2 >> soft ([-0, 2, -8, 6, 0, -4, -6, 8, 4, -2], dur=(8,4,10,2,12,0) + (7,3,9,11,5,1), tremolo=(2,4,6), mix=2, shape=0.2) p3 >> play ("Xx * x X XX x", oct=[6,2,8], dist=0.4, room=0.8, dur=([1,1/2],[1/2,1]), echo=1, echotime=6, fade=5, rate=[1.5,0.5,1]) p4 >> bbass ((-2,-4, 4, 2) + (5, 3, -3,-5), dur=(10, 4, 8, 2), oct=(3,5,1), room=0.8, chop=(2,4,6)).stop() p4.dur=(1, 1/2, 1/2, 1, 0, 1, 0, 1, 1/2, 1/2, 1, 0, 1, 1/2, 1/4, 1) p4.amp=(0.5) p5 >> play ("X", oct=3, dur=(1, 1/2, 1/2, 1, 0, 1, 0, 1, 1/2, 1/2, 1, 0, 1, 1/2, 1/4, 1), sample=4, tremolo=(3,7,5)) p6 >> bounce ([6,2,8,4,12] + [-2,-5,-7,-3,-10], dur=[2,8,5,10,3,12,1,6], oct=[5,4,1,6,3], room=1, dist=0.6, fade=3, tremolo=(3,5,7), amp=0.7) p7 >> tb303 ([-2,-5,-7,-3,-10]+[6,2,8,4,12], dur=[6,1,12,3,10,5,8,2], oct=[3,6,1,4,5], room=1, dist=0.6, fade=3, tremolo=(7,5,3), amp=0.7) p8 >> organ ([2,8,2,8] + [-5,-7,-5,-7], dur=(8,2,8,2) + (3,2,3,2), oct=(3,5,1), chop=(3,7,5), room=2, pan=(-1,1), tremolo=(2,8,4), fade=2, root=var([0, 6], 10)) p9 >> waves ([2,4,6,8] + [8,6,4,2], oct=(9,7,5), dur=[10,5,10,3,10,7,10,1], mix=2, echotime=5, amp=0.5) e1 >> charm ([5,-1,3,-7] + [-8,2,-6,4], dur=(4,2,8,6,10,0), oct=[1,5,3,1], fade=3, mix=2, tremolo=(3,6,9)) e2 >> soft ((1,3,4,5), dur=[12,10,8,10], amp=(0.3,0.5,0.7,1), oct=[1,2,3], sample=5, reverb=2) Alexandre # Pjano Clock.bpm=120 k1 >> play ("x ",sample=4,room=0.2,lpf=linvar([0,500],[16,inf],start=nextbar),hpf=0,amp=0.8) s1 >> play (" o o ",sample=4,room=0.2,lpf=linvar([0,2500],[16,inf],start=nextbar)) h1 >> play (" -",sample=4,room=0.2,amp=linvar([0,1],[16,inf],start=nextbar)) h2 >> play ("- ",sample=1,amp=linvar([0,0.3],[16,inf],start=nextbar)) b1 >> filthysaw ([5,4,3,4,1,2,3,4,5],oct=3,dur=P[1,1,3,1,3,1,3,1,2],sus=P[1,1,3,1,3,1,3,1,2],lpf=800,amp=linvar([0,0.4],[16,inf],start=nextbar)) b2 >> faim2 ([5,5,4,4,3,None,3,3,None,3,3,4,4,1,None,1,1,None,1,1,2,2,3,None,3,3,None,3,3,4,4,5,None,5,5,None],oct=3,dur=P[0.5,0.5,0.5,0.5,0.5,0.25,0.5,0.5,0.25],sus=P[0.5,0.5,0.5,0.5,0.5,0.25,0.5,0.5,0.25],lpf=800,amp=linvar([0,0.5],[16,inf],start=nextbar)) l1 >> piano ([(5,14),(5,14),(4,13),(4,13),(3,12),None,(3,12),(3,12),None,(3,12),(3,12),(4,13),(4,13),(1,10),None,(1,10),(1,10),None,(1,10),(1,10),(2,11),(2,11),(3,12),None,(3,12),(3,12),None,(3,12),(3,12),(4,13),(4,13),(5,14),None,(5,14),(5,14),None],oct=3,dur=P[0.5,0.5,0.5,0.5,0.5,0.25,0.5,0.5,0.25],amp=linvar([0,0.7],[8,inf],start=nextbar)) #----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------# #Drum and Bass Clock.bpm=160 k1 >> play ("x x ",sample=4,amp=linvar([0,0.8],[16,inf],start=nextbar)) s1 >> play (" o o ",sample=2,room=0.2,amp=linvar([0,0.5],[16,inf],start=nextbar)) h1 >> play ("- ",sample=3,room=0.2,amp=linvar([0,1],[16,inf],start=nextbar)) h2 >> play ("[--]",sample=0,amp=linvar([0,0.5],[16,inf],start=nextbar)) b1 >> dbass ([2,1,4,0,None],oct=4,dur=[2,2,2,4,2],sus=[2,2,2,4,2]) b2 >> filthysaw ([2,1,4,0,None],oct=3,dur=[2,2,2,4,2],sus=[2,2,2,4,2])#.stop() l3 >> spark ([2,2,1,1,4,4,0],oct=6,dur=[1,1,1,1,1,1,6],sus=[1,1,1,1,1,1,6],amp=linvar([0,0.8],[16,inf],start=nextbar)) #----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------# # Daft Punk Clock.bpm=120 b1 >> filthysaw ([5,5,5,5,5,5,1,1,3,3,3],dur=[3/4,3/4,4/4,2/4,1/4,3/4,3/4,3/4,4/4,4/4,2/4],sus=[3/4,3/4,4/4,2/4,1/4,3/4,3/4,3/4,4/4,4/4,2/4],lpf=1200,oct=3,amp=linvar([0,0.5],[16,inf],start=nextbar)) b2 >> rlead ([5,5,5,5,5,5,1,1,3,3,3],dur=[3/4,3/4,4/4,2/4,1/4,3/4,3/4,3/4,4/4,4/4,2/4],sus=[3/4,3/4,4/4,2/4,1/4,3/4,3/4,3/4,4/4,4/4,2/4],lpf=1200,oct=3,amp=linvar([0,1],[16,inf],start=nextbar)) b3 >> fbass ([5,5,5,5,5,5,1,1,3,3,3],dur=[3/4,3/4,4/4,2/4,1/4,3/4,3/4,3/4,4/4,4/4,2/4],sus=[3/4,3/4,4/4,2/4,1/4,3/4,3/4,3/4,4/4,4/4,2/4],oct=4,pan=sinvar([1,-1],4),amp=linvar([0,1],[32,inf],start=nextbar)) l1 >> spark ([5],dur=1/2,room=1,mix=0.2,amp=linvar([0,0.3],[32,inf],start=nextbar)) l2 >> piano ([5,1,3],oct=2,dur=P[4,6/4,10/4]) l3 >> piano ([(5,9),(1,5),(3,7),1],oct=3,dur=P[4,6/4,8/4,2/4]) k1 >> play ("x x x x x x x x x",sample=4,room=0.2,lpf=linvar([0,2500],[16,inf],start=nextbar),hpf=0,amp=0.8) s1 >> play (" o o ",sample=4,room=0.2,lpf=linvar([0,2500],[16,inf],start=nextbar)) k2 >> play ("x ",sample=4,room=0.2,lpf=linvar([0,500],[16,inf],start=nextbar),hpf=0,amp=0.8) h1 >> play (" -",sample=4,room=0.2,amp=linvar([0,1],[16,inf],start=nextbar)) h2 >> play ("[--]",sample=4,amp=linvar([0,0.3],[16,inf],start=nextbar)) b1.stop() b2.stop() b3.stop() l1.stop() k1.stop() k2.stop() s1.stop() #----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------# # Medieval Clock.bpm=120 a1 >> harp ([4.5,1.5,4.5,3.5,4.5,3.5,1.5,-1,None,3,3.5,3,0.5,1.5,1.5,None,-2.5,1.5,0.5,1.5,0.5,-1.5,-3.5,None,-2.5,-1.5,-1,-1,-1.5,None,-3.5,-2.5],oct=6,dur=P[4,2,2,1,1,1,1,2,2,1,1,2,2,8,3,1,2,2,1,1,1,1,1,1,1,1,2,2,1,1,2,8]/2,sus=P[4,2,2,1,1,1,1,2,2,1,1,2,2,8,3,1,2,2,1,1,1,1,1,1,1,1,2,2,1,1,2,8]/2) a2 >> filthysaw p1 >> play ("X[XX][XX]", lpf=2000, room=0.25, amp=(0.4,0.25,0.25), sample=3) p3 >> play (" k", sample=(3), amp=(0.2)) #----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------# # Bean On Clock.bpm=120 c1 >> filthysaw ([4.5,2,3.5,0.5,2,3.5],dur=P[4,2,4,4,2,4],oct=3) c2 >> rlead ([4.5,2,3.5,0.5,2,3.5],dur=P[4,2,4,4,2,4],oct=3) #----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------# # Desert Walk Clock.bpm=120 p1 >> play ("X XX ", lpf=1500, room=0.25, amp=0.8, sample=3) p2 >> play (" [XX][XX]X", lpf=1500, room=0.25, amp=0.2, sample=3) h1 >> play (" S",sample=4,room=0.2,amp=0.2) h2 >> play ("[ss]",sample=4,amp=0.05) l1 >> charm ([7,6,8,5],oct=3,dur=P[1],amp=0.8) l2 >> harp ([7,6,8,5,7,6,8,5,7,6,8,5,7,6,8,5,7,6,8,5],oct=4,dur=P[0.5],amp=0.05,tremolo=3) b2 >> filthysaw ([5],oct=2,dur=4,sus=4,room=1,lpf=800,amp=0.3) l5 >> harp ([5,2,1,0.5,1,2,3,2,1,0.5,1,2,-1.5,-2],oct=5,dur=P[2/4,2/4,2/4,2/4,2/4,6/4,2/4,2/4,2/4,2/4,2/4,6/4,1,12/4],amp=0.6,room=2,mix=0.2,chop=1).stop() ``` --- **Historique de propositions** :::spoiler ## Les grandes lignes 1. Le fil narratif = Construire un récit fictionnel participatif. Ce récit improvisé sera dicté par le public et orienté par des choix multiples. 2. Le fil sonore = La parole saisie construira un pattern de 4 lignes maximum. Chaque choix fera l’objet d’un pattern différent. 3. Un Maître de cérémonie = Un pantin 3D serait maître de cérémonie et qui serait actionné (Kinect) comme une marionnette par l’un.e d’entre nous. 4. L'enjeu est de faire commun en évitant la juxtaposition ou l’enchaînement de performances individuelles. ## Les questions 1. Le fil sonore généré par le texte peut être constant et évoluer tout au long de la performance (1h). Lorsqu’un pattern de 4 lignes est créé, le suivant vient remplacer le premier, mais une ligne par une ligne. 2. Chaque nouveau choix peut faire l’objet d’un nouveau pattern, après l’intervention du Maitre de cérémonie qui organise les choix. Une nouvelle histoire débute avec un nouveau Pattern qui intervient après l’arrêt du pattern précédent. * Agir directement sur ce fil sonore risque de rendre instable le dispositif et de mettre en danger la continuité de la performance. * Ajouter une partition sonore à ce fil sans qu’elle soit synchronisée risque de créer du chaos. Même si c’est bien le chaos, voilà deux interogations que nous devons résoudre. Il faudra faire des tests. 3. Encourager la participation en proposant des interfaces physiques activées par le public. Quelles interactions possibles . Texte : Saisit à la main ou par générateur . kinect : Maître de cérémonie . kinect : Chef d’orchestre . Horloge : . Rythmes signés : . Vote : . Camera : Introduction = détection des corps qui s’installent sur les gradins et déclenchent des patterns 4. Comment amener le public à interagir avec ce fil sonore de manière fluide et cohérente ? :::warning Rémi - Son génère une image sur le mode fils tendus entre des clous. Nouy - forme 3D vivante (suite de l'an passé en Touch Designer) - Touch Designer : base=video de teufs. Le son (Hard-Core) pioche dans la banque vidéos : montage conditionné par le son Alexandre - Marchand de sable : balance, mesure de distances - Maître du temps : déclenchement sur la position d'une ou deux aiguilles Edouard - Touche Designer : Kinect, projection du double et sonorisation en fonction des mouvements - Théatre optique fixé au bout d'un appareil photo, visible que depuis l'appareil avec un personnage physique et avec interactions - Seb à voir : téléphone + vidéo vers casque VR + espace de travail Lauryne - envie d'une perf. avec des capteurs Emma et Raphael - capteurs de toucher Charly Lena :::