L`autre
Transcription
L`autre
v CODE::MUSIQUE un introduction au live-coding & Sonic Pi L’autre association v. 0.1 SUPPORT DE FORMATION 2 INTRODUCTION SESSION COURTE (3h) CYCLE COMPLET (6 à 10 sessions) EXEMPLES DETAILLES ANNEXES ET RESSOURCES INDEX [01] LIVE CODING ? [02] RASPBERRY Pi & SONIC Pi [03] SESSION COURTE [01] MISE EN ROUTE [02] PREMIERS CODE [03] CONDITIONNELS [05] LISTES [05] SYNCHRONISATION [01] DRUM’N’BASS [02] HIP HOP [01] FX [02] LANGAGE [03] SYNTHETISEURS [03] ECHANTILLONS Définition, introduction et présentation de la disipline du live-coding Définition, introduction et présentation de la disipline du live-coding Définition, introduction et présentation de la disipline du live-coding en 3 heures Démonstration Présentation Premières instructions, premières notes Jeux de cartes Tirage au sort pour jouer une note, mettre des commentaires Introduction aux listes Opérations simples sur des listes Plusieurs sonorités en même temps Composition Composition d’un morceau niveau intermédiaire Composition d’un morceau niveau intermédiaire Liste de tous les effets audios Liste de toutes les instructions Liste de toutes les synthétiseurs et leurs paramètres Liste des échantillons sonores Ce document est un support de formation destiné à l’utilisation du logiciel Sonic Pi comme introduction au Live-Coding. Il est divisé en cinq parties : - Une introduction générale au live coding et au Rapsberry Pi - Un support pour une formation courte de 3 heures à l’usage des formateurs - Un support pour un cycle long de 5 à 10 séssions à l’usage des formateurs - des exemples détaillés de composition - Un annexe avec les références de syntaxe Il est basé en grande partie sur les ressources anglaises disponibles à l’adresse : https://www.raspberrypi.org/learning/sonic-pi-lessons/lessons/ D’autres ressources ont également permis la création de ce support : - Le magazine crée par MagPi «Essentials Sonic Pi» https://www.raspberrypi.org/magpi/issues/essentials-sonic-pi-v1/ - le google group de Sonic Pi, le forum de discussion officiel de Sonic Pi https://groups.google.com/forum/#!forum/sonic-pi -Le «Getting started» de Sonic Pi https://www.raspberrypi.org/learning/getting-started-with-sonic-pi/worksheet/ -Le Github de Sonic Pi https://github.com/samaaron/sonic-pi -Le site «Sonic live and Coding» http://www.sonicpiliveandcoding.com/ VAN DER KWAST Sébastien & CALLEDE Denis 01 LIVE-CODING ? 4 LIVE-C Qu’est ce que live-coding ? ? Le live-coding que l’on pourrait en français traduire par «programmation à la volée» est une technique de programmation en direct orientée vers l’improvisation. On retrouve le plus siouvent le live-coding associé à la création musicale bien que cette technique puisse également être utilisée pour du vjing ou encore du traitement d’images. En général l’artiste écrit du code en direct lors d’une performance ou d’un concert et le projète à l’aide de vidéoprojecteurs afin que l’audience puisse voir ce qu’il écrit. CODING ? Ouverture et créativité L’artiste qui exerce cette disipline a comme particularité de ne rien cacher au publique, de montrer l’intégralité de son code, de ses secrets de fabrications. Beaucoup de ces artistes n’hésitent pas à mettre après un concert leurs codes en ligne afin que tout le monde puisse les lire et s’en instruire. En outre, la plupart des logiciels utilisés sont distribués sous licences libres ce qui permet une évolution participative du logiciel et un accès gratuit à ces derniers. Des langages différents pour des approches différentes Il existe de nombreux outils permettant de faire du live-coding. On peut en trouver sur tous les systèmes d’exploitations, que ce soit sous mac, linux, windows ou d’autres. Dan Stowell aux Rencontres Mondiales du logiciel Libre en 2011 à Strasbourg en pleine performance de live-coding sur Supercollider 02 RASPBERRY PI & SONIC PI 6 RASPERRY PI Le Raspberry Pi est un est un ordinateur miniature (nano-ordinateur) conçu par le David Braben, c’est un ordinateur de la taille d’une carte de crédit vendu à bas prix (environ 30 euros en 2016). Il fonctionne surtout sur des distributions légères GNU/Linux, des systèmes libres et gratuits. Son installation est très simple comme nous le verrons plus en détail plus tard, il suffit de mettre une carte SD avec le système, d’y brancher clavier, souris un écran et une alimentation et le système est prêt à fonctionner. On peut le connecter à internet au besoin et bien sûr y brancher un casque pour pouvoir écouter nos performances de live-coding. La Rapberry Pi peut également s’utiliser d’une manière plus avancée en y connectant diverses cameras et capteurs sur les broches visibles transformant ainsi la petite machine en une plateforme polyvalente . Un Raspberry Pi, photo par Jwrodgers CC-BY-SA - source wikipedia SONIC PI Une fois notre Raspberry Pi en route nous allons utiliser un logiciel pour faire du live-coding. Dans cette introduction au live-coding nous allons surtout parler de Sonic Pi. Développé par Sam Aaron, ce logiciel a deux avantages majeurs. Il est fait pour fonctionner nativement sur la plateforme Raspberry Pi, petit ordinateur peu onéreux réduisant l’investissement nécessaire pour pouvoir faire du live-coding et D’autre part il a était conçu comme un logiciel facile d’accès utilisable par des enfants tout en laissant de réelles perspectives pour évoluer. Des instructions dans Sonic Pi 8 Sonic Pi : Session courte Un tour d’horizon de Sonic Pi et de Raspberry Pi en 3 heures La Rasberry Pi est un petit ordinateur, plus petit qu’un jeu de carte, qui peut transformer la manière que nous avons d’approcher l’informatique. OBJECTIFS - Comprendre ce qu’est une Raspberry Pi - s’initier à la logique du code informatique - écrire un programme simple NOTIONS Chaque participant sera capable de : - Savoir comment connecter les différents éléments de la Rasberry Pi ensemble - se représenter une succession d’instructions - écrire un programme simple La plupart des participants seront capables de : 01 SESSION COURTE - Assembler la Raspberry Pi avec l’aide d’un animateur - interprêter une instruction avec le jeu de carte - comprendre les instructions simples dans Sonic Pi Certains partipants seront capables de : - Assembler la Raspberry Pi de manière autonome en comprenant le rôle des composants - improviser des instructions avec le jeu de carte - écrire des lignes simples dans Sonic Pi RESUME Une introduction aux éléments essentiels de la Raspberry Pi Une démonstration qu’une Raspberry Pi peut se comporter comme un ordinateur classique. Un exercice de groupe pour créer un simple programme COURS 1. Commencer avec tous les éléments de la Raspberry Pi sur la table : clavier, souris, hautparleurs, carte mémoire, alimentation, écrans, cable de l’écran et la Raspberry pi elle-même. Demander à la classe de nommer chaque élément et de le décrire pendant que vous les connectez devant eux. Branchez la Raspberry Pi et regarder là démarrer. Une alternative est de ne pas mettre la carte mémoire et de voir le démarrage échouer. Cela permet d’expliquer que la carte contient des instructions sur le démarrage de la Raspberry Pi. La Raspberry pi devrait être démarrée et l’écran d’authentification apparaître 2. Séparer la classe en groupes et donnerà chaque groupe un jeu de carte de programmation. Demander à chaque groupe d’enlever les cartes de déclarations et de contrôle du jeu. Demander ensuite à chaque groupe de former une ligne et donner à chaque membre d’un groupe une carte de déclaration après les avoir mélangés. La personne au début de ligne reçoit la carte de contrôle. Expliquer que la personne qui détient la carte de contrôle devra éxecuter les instructions des cartes de déclarations et passer ensuite la carte de contrôle au suivant dans la ligne comme un baton-relais. Lorsque la carte atteint la fin de la ligne, ils s’arrêteront. Répeter en changeant l’ordre des participants et laisser pour finir, les participants choisir l’ordre. Une analogie pourrait être la cuisine, un ensemble de déclaration, le contrôle étant l’endroit ou vous êtes dans la recette. 3. Démarrer Sonic Pi. Ensuite, inviter les étudiants à s’identifier dans leur Raspberry Pi et démarrer l’environnement graphique. Cela peut être utile de faire une démonstration de ceci sur un vidéo-projecteur. 4. Expliquer qu’ils peuvent utiliser les mêmes déclarations sur un ordinateur que sur les cartes : play & sleep. Inviter les à passer le temps qu’il reste pour écrire leurs propres programme et écouter les résultats. PLENIERE Chaque groupe sera invité à choisir un ordre de carte pour qu’un autre groupe l’éxecuter. Une discssion devra avoir lieu sur la relation que cela a sur un ordinateur. Un ordinateur fonctionne en executant des déclarations à la suite dans un ordre spécifique. Un séquence d’instructions est appelée un programme. Chaque programme est executé avec un certain flot de contrôle, cela décrit quelle déclaration est en train d’être lue et quelle déclarations sera lue ensuite. 10 Pour commecer, mettre en place une Raspberry Pi déjà connectée et Sonic Pi déjà lancé. Montrer la raspberry aux participants et leur demander ce qu’ils pensent que c’est. Expliquer que c’est en fait un ordinateur et que dans les leçons à venirs nous allons voir ce qu’il a de particulier. Plutôt que d’ouvrir des programmes et des jeux que d’autres ont conçus pour nus, nous allons écrire notre propre programm et faire de la musique. Sonic Pi 01 MiSE EN ROUTE Commencer avec le code de démonstration ci-dessous, jouer le et expliquez aux étudiant que dans quelques semaines ils pourront eux-mêmes faire cela. Mettre une emphase sur le fait qu’ils seront libre de faire ce qu’ils veulent avec et que c’est un processus ludique. Programmer c’est faire que l’ordinateur fait ce que l’on souhaite qu’il fasse. Ce n’est pas important que les participants voient du code à ce niveau, l’écoute suffit dans un premier temps. live_loop :habanera do use_synth :fm use_transpose -12 play (ring :d, :r, :r, :a, :f5, :r, :a, :r).tick sleep 0.25 end with_fx :reverb do live_loop :space_light do with_fx :slicer, phase: 0.25 do synth :blade, note: :d, release: 8, cutoff: 100, amp: 2 end sleep 8 end end Sonic Pi leçon 1 - Debuter avec Sonic Pi sur sur Raspberry Pi La Rasberry Pi est un petit ordinateur, plus petit qu’un jeu de carte, qui peut transformer la manière que nous avons d’approcher l’informatique. Dans cette leçon nous allons introduire les composants essentiels de la Raspberry Pi et sa relation avec l’informatique classique. Nous allons discuter de manière générale de l’informatique et comment un ordinateur peut être programmé pour faire différentes tâches simultannément, du traitement de texte à la synthèse musicale. Pour conclure nous introduirons l’élément de base de la programmation : la programme comme une succession d’instructions. OBJECTIFS - Savoir qu’il y a types d’outils informatiques différents - Comprendre comment un ordinateur utilise une succession de déclarations afin de faire quelque chose et que cette séquence est appelée un programme - Etre capable de donner à la Rasberry Pi des instructios afin de produire de la musique NOTIONS Chaque participant sera capable de : Savoir comment connecter les différents éléments de la Rasberry Pi ensemble Ecrire quelques déclarations simples et comprendre qu’une séquence de déclarations est un programme. Ecrire un programme simple. La plupart des participants seront capables de : Ecrire un programme qui sera executer par d’autres et avoir une idée de qui se produira ; Certains partipants seront capables de : Une introduction aux éléments essentiels de la Raspberry Pi Une démonstration qu’une Raspberry Pi peut se comporter comme un ordinateur classique. Un exercice de groupe pour créer un simple programme Démarrer l’application Sonic Pi RESUME Une introduction aux éléments essentiels de la Raspberry Pi Une démonstration qu’une Raspberry Pi peut se comporter comme un ordinateur classique. Un exercice de groupe pour créer un simple programme Démarrer l’application Sonic Pi COURS 1. Commencer avec tous les éléments de la Raspberry Pi sur la table : clavier, souris, hautparleurs, carte mémoire, alimentation, écrans, cable de l’écran et la Raspberry pi elle-même. Demander à la classe de nommer chaque élément et de le décrire pendant que vous les connectez devant eux. Branchez la Raspberry Pi et regarder là démarrer. Une alternative est de ne pas mettre la carte mémoire et de voir le démarrage échouer. Cela permet d’expliquer que la carte contient des instructions sur le démarrage de la Raspberry Pi. La Raspberry pi devrait être démarrée et l’écran d’authentification apparaître 2. Séparer la classe en groupes et donnerà chaque groupe un jeu de carte de programmation. Demander à chaque groupe d’enlever les cartes de déclarations et de contrôle du jeu. Demander ensuite à chaque groupe de former une ligne et donner à chaque membre d’un groupe une carte de déclaration après les avoir mélangés. La personne au début de ligne reçoit la carte de contrôle. Expliquer que la personne qui détient la carte de contrôle devra éxecuter les instructions des cartes de déclarations et passer ensuite la carte de contrôle au suivant dans la ligne comme un baton-relais. Lorsque la carte atteint la fin de la ligne, ils s’arrêteront. Répeter en changeant l’ordre des participants et laisser pour finir, les participants choisir l’ordre. Une analogie pourrait être la cuisine, un ensemble de déclaration, le contrôle étant l’endroit ou vous êtes dans la recette. 3. Démarrer Sonic Pi. Ensuite, inviter les étudiants à s’identifier dans leur Raspberry Pi et démarrer l’environnement graphique. Cela peut être utile de faire une démonstration de ceci sur un vidéo-projecteur. 4. Expliquer qu’ils peuvent utiliser les mêmes déclarations sur un ordinateur que sur les cartes : play & sleep. Inviter les à passer le temps qu’il reste pour écrire leurs propres programme et écouter les résultats. 01 MiSE EN ROUTE 12 PLENIERE Chaque groupe sera invité à choisir un ordre de carte pour qu’un autre groupe l’éxecuter. Une discssion devra avoir lieu sur la relation que cela a sur un ordinateur. Un ordinateur fonctionne en executant des déclarations à la suite dans un ordre spécifique. Un séquence d’instructions est appelée un programme. Chaque programme est executé avec un certain flot de contrôle, cela décrit quelle déclaration est en train d’être lue et quelle déclarations sera lue ensuite. DEVOIRS Il sera demandé à chaque participants d’inventer des déclarations par eux-même qu’ils pourront mettre en pratique en famille en utilsant la feuille de travail de programmation