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

Documents pareils