Accueil
gauche
Serigraphie Duchess Says - auteur du visuel : Appelle Moi Papa

Qu'est-ce que c'est "indé" ?

Festival Indigenes

Festival Indigènes :...

teste pour vous

STEREOLUX VU DES COULISSES

J ai teste pour vous

J'ai testé... la conférence...

Appel a projet

Appel à projets...

DAN

DAN représente les Pays de...

Merchandising Stereolux

Le merch', c'est fresh !

J ai teste pour vous

J'ai testé… le Raspberry...

Hyblab - auteur du visuel : Simon Bachelier

L'île de Nantes, ses données

Spot

SPOT#3 : appel à projets

Atelier sceno

Vie associative : retour en...

THEATRE interview de Superamas - auteur du visuel : 2012 11 22

Vidéo : "THEATRE" entretien...

Turn off the light

Turn Off The Light

gosound

GoSound ! Vis ma vie de...

Algo et Ritmo

Algo Ritmo, ou le...

Izia

video concert de Izia !

Bordeaux Grand Cru

Bordeaux brise la glace

CABADZi - auteur du visuel : Emmanuel ligner

Quel cirque

3destruct

3destruct (Scopitone 2011)...

high damage - auteur du visuel : Antonin Chaplain

BRAIN TONE ?

pure creative data

PURE (creative) DATA

BIM festival

BIM : ET bam !

Soiree ici ailleurs

plus pour l’esprit que pour...

Kode9

Hyperdub

Pierre Barouh

Rencontre avec Pierre Barouh

droite
Berenger Recoules

 

 

Arts numériques, pourquoi favoriser le développement
et l'utilisation d'outils logiciel et matériel libres 

("Open Source" et "Open Hardware") ?



You must have the Adobe Flash Player installed to view this player.

Les logiciels libres ont fait leur apparition au début des années 80 avec la création par l'informaticien Richard Stallman, de la première license libre Gnu. Stallman s'opposait à l'appropriation, par les compagnies, du code source des programmes informatiques. Cacher le code source et en rendre illégal la modification lui paraît immoral et inconsistant avec la nature même du code source informatique qui peut théoriquement être partagé sans frais (contrairement à des objets matériels, tels que du papier journal ou un vélo). Dans le manifeste GNU, il écrit:« Extraire de l'argent des utilisateurs d'un programme en restreignant leur utilisation du programme est destructif parce que, au bout du compte, cela réduit la quantité de richesse que l'humanité tire du programme. {...} Puisque je n'aime pas la situation qui résulte d'une rétention générale de l'information, il me revient de considérer comme immoral d'agir ainsi ». Contrairement aux logiciels propriétaires, les logiciels libres donnent la liberté aux utilisateurs d'exécuter le programme, d'en étudier le fonctionnement, et d'en distribuer des copies.

Dans le milieu artistique, les logiciels libres ont pris une ampleur considérable depuis les années 90, à commencer par le logiciel Pure Data. Outre ce dernier, plusieurs logiciels ont fait leur apparition dans les dernières années et sont utilisés par des artistes professionnels: Processing, Arduino, Toonloop, Gephex, Freej, etc. Ces logiciels sont utilisés par les artistes car ils sont à la fois gratuits, performants et faciles d'utilisation. Parce qu'ils sont ouverts, ils facilitent leur appropriation par les artistes et favorisent la recherche et la création de nouvelles formes d'art. De plus en plus d'artistes intègrent dans leur pratique artistique le développement de logiciels et de matériaux libres: ils créent leurs propres outils plutôt que de travailler avec des outils déjà existants.

C'est dans cet esprit que va se construire un projet de développement d'applications mobiles de création numériques. L'idée et donc de s'appuyer sur des outils libres pour promouvoir leur utilisation, ainsi que de développer leur documentation.

 

 
 

Visuel écran - Bérenger Recoules

Pure Data et ses différentes formes

 

Pure Data est un logiciel libre 

et gratuit et multiplateforme (Linux, Windows, OS, Android, iOS...) de programmation. Ses champs d'application vont de la création multimédia interactive, à toutes formes de musiques électroniques. Pd est développé  et distribué dans plusieurs versions :

- la version vanilla, encore développée par Miller Puckette.

- la version extended, qui regroupe des contributions de la communauté.

- une version sous forme de librairie, qui permet d'utiliser Pure-Data comme librairie dans plusieurs langages. Libpd permet donc d'exploiter les possibilités de pd sur les plateformes mobiles en tant que librairie DSP (Digital Signal Processing) en temps réel, multiplateforme, et aussi extrêmement compacte.

Hormis un intérêt certain dans le domaine artistique PD a de plus déjà été utilisés dans certaines applications commerciales. L'application Inception sur l'app store (qui utilise libpd), mais surtout Spore d'EA Games. EA games a developpé sa propre librairie propriétaire à partir du code source de pd, ils ont  ensuite travaillé avec Brian Eno pour la construction d'un moteur audio adaptatif. (la sortie de libpd est largement postérieure à la sortie de Spore).

Le projet présente donc de nombreux avantages pour quiconque souhaitant se lancer dans la création numérique :

- un projet open source gratuit et cross-plateform avec une communauté installée très active et sympathique.

- traitement du son en temps réel, et notamment synthèse sonore en temps réel, ce qui permet une meilleure adéquation entre les actions et le contenu audio délivré. Ce qui devrait amener à une meilleure expérience utilisateur globale.

- construction de moteur audio sur mesures, et donc exactement adaptés aux besoins, sans options superflues.

- pas de dépendances : à partir du moment ou on utilise un compileur en C, on obtient une librairie légère qui ne dépendra de rien d'autre.

 

 

 

Le projet Stereolux

 

Sur une période de six mois nous allons essayer de découvrir pas à pas l'outil de création pure-data à travers des exemples didactiques de mini-applications pour smartphones ( android et iOS), dans l'esprit DIY (DoItYourself).

Nous allons aborder différents thèmes allant de la synthèse sonore au développement d'interfaces utilisateurs ; le coeur du projet se situera autour de technologies libres, du partage de ressources à travers la communauté Pure-Data et les différents projet qu'elle a pu porter ces dernières années.

Dans un premier temps, des articles seront publiés tous les mois par support internet, afin de présenter des petites applications pour smartphones. Le code source, ainsi que des commentaires et des ressources pour aller plus loin accompagneront ces publications. L’objectif n’est pas ici d’apprendre à utiliser Pure Data, beaucoup de ressources et tutoriaux sont déjà disponibles sur internet, nous n’allons pas les ré-écrire, mais nous essaierons de rendre notre le plus compréhensible possible.

Dans un second temps, nous vous proposerons un rendez-vous mensuel dans les locaux de Stereolux, sous forme d'un workshop gratuit et ouvert à tous. Il vous suffira de venir avec votre smartphone pour pouvoir essayer les applications, et commencer à en développer. Vos contributions pourront être si vous le souhaitez proposées au téléchargement sur le site de Stereolux.

L’ensemble des écrits et programmes proposées ici sont sous license Creative Commons Share Alike 3.0 (http://creativecommons.org/licenses/by-sa/3.0/)

Enfin  nous vous proposerons une installation artistique, utilisant ces différentes technologies en contexte.


 

Présentation des outils

 

Application mobileVoici le site officiel de Pure Data, vous y trouverez de nombreuses informations, ainsi que des liens pour le téléchargement des différentes versions : http://puredata.info/

Ci-après le lien vers la page de téléchargement :

http://puredata.info/community/projects/software/by-category/distribution

 

Les projets qui vont nous intéresser sont les suivants :

- Pure Data « vanilla », sera la version de Pure Data à installer sur son ordinateur pour pouvoir construire des programmes avant des les importer sur son téléphone.

-  ScenePlayer (android) ou RJDJ (iOS à travers l'app store) : il va nous permettre de charger un programme Pure Data (ou « patch » comme on l'appelle) et d'utiliser les informations provenant du Touchscreen, ou des capteurs de mouvement du téléphone, puis d'enregistrer la sortie audio. Il ne nous permettra par contre pas de construire des interfaces utilisateur.

-  PdDroidPArty (android seulement) : va permettre de faire fonctionner un patch tel qu'il a été developpé sous Pure Data avec une émulation des éléments d'interface disponibles dans pd. Ce projet en est encore qu'à ses débuts et ne supporte pas encore l'intégralité des fonctionnalités de Pure Data.

- pd-webkit (android) permet d'associer un patch Pure Data à un fichier HTML, on developpe alors le son dans Pure Data et l'interface utilisateur en HTML.



Sous Android, quelque soit le projet le principe est toujours le même :

1- on télécharge une application sous forme d'un .apk et on l'installe.

2- on crée des patchs avec pd.

3- on copie ces patchs sur la carte SD du smartphone. (soit par cable usb soit avec un système de partage de la carte SD en wifi type File Expert : https://market.android.com/details?id=xcxin.filexpert )

4- l'application va ajouter automatiquement les nouveau patchs.

 

Sous iOS, nous vous conseillons de télécharger l’application RJDJ depuis l’appstore, puis d’utiliser le système de serveur local pour copier vos patchs sur le téléphone : http://blog.rjdj.me/pages/pd-utilities

 

Note : nous allons essayer de travailler sur les « plateformes mobiles », cela peut se comprendre principalement par Android et un peu iOS. Ces deux plateformes présentent des philosophies radicalement différentes : iOS est propriétaire (au niveau logiciel et matériel) stable et performant il manque cependant un peu d'ouverture pour faire tout ce que l'on souhaiterait sans entrainer des difficultés ; android quand à lui est plus ouvert mais du à la multiplication des modèles matériels il et parfois difficile de pouvoir s'assurer que ces applications pourront fonctionner de manière optimale sur tous les modèles. De plus les performances techniques de ce type d'appareil évoluent très rapidement, certains modèles plus anciens risquent de manquer de puissance de calcul; cependant n'hésitez pas à venir nous voir lors des workshops pour éclaircir tout cela. 


Episode 1 : Lutilisation de samples


Fonctionnement 



Sampler mixer L'application permet de mixer 3/4 boucles audio ensemble, 3 pour la version rjdj et 4 pour la version « patch » Pure Data pour DroidParty. Pour la version rjdj (iOS et Android) on a trois boucles dont le volume suit l'orientation du téléphone, pour la version droidparty on a une interface avec un interrupteur et un slider permettant de régler le volume pour chaque boucle. Il y a aussi la possibilité d'avoir plusieurs packs de sons et de passer de l'un à l'autre (en touchant lécran tactile pour la version rjdj et à laide dune boîte de sélection pour DroidParty). Les boucles ont été crées avec des patchs pure data que vous pourrez retrouver dans la section ressources. Lapplication a été developpé dans un soucis de fonctionner sur des téléphonnes dentrée de gamme ou relativement modestes en termes de performances (cela ne sera peut-être pas toujours le cas), si vous avez un téléphone plus puissant, un écran plus grand etc. vous pourrez facilement modifier le code pour gérer beaucoup plus de boucles. 

Vous pouvez donc choisir de télécharger les patchs et de les jouer sur votre ordinateur en téléchargeant Pure Data, en utilisant lapplication RJDJ (pour les possesseurs diphone et de smartphone android), en utilisant lapplication DroidParty (android seulement).

 

Grandes lignes du code 

 

Pour plus de détails, référez vous au commentaires directement inscrits dans le patch. Ici l’objectif n’est pas de comprendre le détail mais d’avoir une idée préalable de ce qui a été implémenté.

Fenêtre principale de l’application

Fenêtre principale de l’application

 

Le principe général du patch DroidParty est assez simple. L’idée et de pouvoir lancer une série de boucles que l’on aura préenregistré et qu’elles se jouent de façon synchronisée. C'est-à-dire que si l’on veut lancer la boucle suivante, il faudra attendre que celle qui soit jouée revienne au début (c’est le principe qu’utilise Abbelton Live pour la lecture de ses clips). 

En résumé on va charger un banque de sons, c'est-à-dire 3 ou 4 sons dans des tables à l’aide de l’objet [soundfiler], c’est la méthode la plus souple (et non la plus simple) pour lire des sons. Pour lire 4 sons on va en réalité utiliser 5 tables car on va utiliser une table témoin qui va permettre d’envoyer un signal à la fin de chaque boucle pour la synchronisation. Les autres tables quant à elles vont devoir d’abord être « armées » dans l’interface une fois armées elles attendent le signal de synchronisation et commencent à se lire quand ce signal est reçu. Si l’interrupteur est désenclenché immédiatement elle ne se lira qu’une fois sinon elle bouclera.
 

 L’ensemble des messages reçus par chaque sampler
 L’ensemble des messages reçus par chaque sampler.

 

Chaque lecteur de boucle est « encapsulé » dans ce que l’on appelle une abstraction (c’est en fait un autre patch Pure Data qui se situe dans le même dossier) on peut alors créer un objet portant le nom de cette abstraction. Cela est très utile car cela permet d’utiliser la notation $0- devant les noms de messages (c’est une notion assez avancée mais très utile). A l’ouverture du patch tous les préfixes « $0 » seront remplacés par un identifiant unique à l’abstraction. Par exemple un message du type « $0-bang » deviendra « 1088-bang » dans une abstraction et « 1158-bang » dans celle d’à côté. Cela permet donc de copier/coller des bouts de codes sans qu’il y ait d’interférences entre les messages qu’ils utilisent.

Le contenu de l’abstraction
Le contenu de l’abstraction [mon_sampler]

 
 

Ressources 

 

Les liens 
 

- http://www.freesound.org/ : une banque de sons collaborative, qui pourra vous permettre de trouver des sons pour remplacer ceux par défaut.

 

- http://www.musicradar.com/news/tech/sampleradar-13154-free-sample-downloads-217833/1 : des boucles musicales en téléchargement gratuit.

 

- http://radio.rumblesan.com/ : une radio générative sur le net, jouant des patchs Pure Data, normalement les patchs sont disponibles au téléchargement, mais le site est actuellement en travaux.

 

 

Les fichiers 


- Episode1.zip : les patchs de l'épisode 1 (32Mo)

- interface-help : contient des patchs Pure Data qui vous aideront à comprendre la récupération des informations de interface de votre smartphone (accéléromètre, touchscreen …). 

- Christchurch.pd : est une composition Pure Data sous la forme d’un patch, vous n’avez qu’à l’ouvrir et écouter, puis farfouiller à l’intérieur pour comprendre comment ça marche. Cette composition a été créée par Andy Farnell qui a réalisé beaucoup d’exemple et de tutoriaux, vous pouvez trouver le lien vers son site dans la section Ressources

- Mengine-Ambiant-Std-Ed.zip : est aussi un patch musical. Celui-ci permet de générer de la musique en continu à travers un ensemble de contraintes. A chaque temps, les notes qui vont être jouée sont soumises à des probabilités. Il est possible de choisir des gammes, des structures harmniques, des instruments et de fixer toutes les probabilités une à une. Il est aussi possible de créer des presets de styles musicaux. N’hésitez pas à me contacter directement si vous avez des questions.

Note : pour s’exécuter convenablement ces deux patchs musicaux nécessiteront l’installation de Pd-extended.

 

Appel à contribution (envoyer un mail)

 

N’hésitez pas à tester, expérimenter, en modifiant le patchs en changeant les son et en en créant de nouveaux. Envoyez nous vos contributions, une version spéciale incluant une partie de vos contribution sera éditée pour Scopitone !

 
 

Quelques ressources

 

Pure Data les logiciels issus de Pure Data

http://puredata.info/community/projects/software : téléchargement des version vanilla et extended pour son ordinateur personnel.

http://mccormick.cx/projects/PdDroidParty/ : téléchargement de la dernière version de droidparty.

 

Pure Data sur les plateformes mobiles forums et tutoriaux

http://blog.rjdj.me/pages/pd-utilities (anglais)

http://noisepages.com/groups/pd-everywhere/forum/

http://www.youtube.com/watch?v=lr-khifcl-U

 

Pure Data forums et tutoriaux 

http://puredata.info/docs/workshops/ArtAndCodePdDemo

http://www.obiwannabe.co.uk/

http://www.pd-tutorial.com/english/index.html

http://en.flossmanuals.net/pure-data/

http://puredata.hurleur.com/index.php

http://codelab.fr/pure-data (une page de ressources très complète est présente en début de forum, n’hésitez pas à vous y référer)

 

Pure Data des patchs à découvrir 

- Une fois pd installé on peut aller voir ce lien ou je stocke une version régulièrement actualisée de la collection de patchs que j'utilise sous pd http://code.google.com/p/pdlive/

- Patchwerk radio, une radio diffusant de la musique générative en temps réel grâce à Pure Data (les patchs sont disponibles au téléchargement) : http://radio.rumblesan.com/


 

Quelques Notions


Open-source

Désigne un logiciel dont le code source est disponible publiquement, généralement par l'entremise d'une license d'exploitation qui accorde certains droits aux utilisateurs. Il existe plusieurs types de license open-source, dont nous retiendrons les principales:

License publique: Aucune restriction n'est imposée sur le code source qui peut être modifié et même commercialisé

License BSD: La seule restriction qui s'applique est de citer (donner du crédit à) les développeurs du code source

License Publique Générale Gnu (GPL) (voir "Logiciel libre"): Oblige les utilisateurs qui modifient et redistribuent le logiciel à redistribuer eux-même le code source

License propriétaire: Certains logiciels propriétaires peuvent ouvrir leur code source tout en empêchant toute utilisation

 

Logiciel libre

Le logiciel libre, aussi appelé "copyleft" (par opposition à "copyright") est un logiciel open-source qui offre quatre libertés fondamentales aux utilisateurs. La license de logiciel libre la plus répandue est la License Publique Générale Gnu. Par exemple, le système d'exploitation Linux est un logiciel libre.

Les quatre libertés, tirées de Wikipedia:

Liberté 0 : La liberté d'exécuter le programme — pour tous les usages ;

Liberté 1 : La liberté d'étudier le fonctionnement du programme — ce qui suppose l'accès au code source ;

Liberté 2 : La liberté de redistribuer des copies — ce qui comprend la liberté de vendre des copies ;

Liberté 3 : La liberté d'améliorer le programme et de publier ses améliorations — ce qui suppose, là encore, l'accès au code source.

 

DIY

Le DIY ("Do-It-Yourself") est un terme utilisé par différentes communautés centrée sur l'idée de créer soi-même sans avoir recours à l'aide de professionnels. Le terme a pris un sens nouveau avec l'apparition d'internet qui permet d'échanger facilement des informations, des recettes, des idées pour s'approprier ses moyens de production.

 

Open-hardware

Définit les ordinateurs et le matériel électronique développés selon des principes de la culture du logiciel open-source. Il est donc conçu pour se rapprocher du modèle du logiciel open-source, c'est-à-dire qu'il offre à l'utilisateur l'accès aux informations nécessaires afin de reproduire soi-même le matériel.

Puisque la nature du matériel est différente de celle du logiciel et parce que le concept est relativement nouveau, il n'existe pas encore de définition générale de ce qu'est un matériel "open-source". Le plus couramment, on désigne ainsi les produits dont la part immatérielle (les informations concernant leur conception, les programmes utilisées, etc.) est ouverte.
 

Creative Commons

Les licences Creative Commons constituent un ensemble de licences régissant les conditions de réutilisation et/ou de distribution d'œuvres (notamment d'œuvres multimédias diffusées sur Internet). Elles ont été créées en partant du principe que la propriété intellectuelle était fondamentalement différente de la propriété physique, et du constat selon lequel les lois actuelles sur le copyright étaient un frein à la diffusion de la culture. Leur but est de fournir un outil juridique qui garantit à la fois la protection des droits de l'auteur d'une œuvre artistique et la libre circulation du contenu culturel de cette œuvre, ceci afin de permettre aux auteurs de contribuer à un patrimoine d'œuvres accessibles dans le « domaine public » (notion prise au sens large).

  

 

VIDEO DE LA SEMAINE // Journées du Code Créatif #2 - Processing ART - 30/01/2014         > toutes les vidéos

 

logo stereolux