Outils pour utilisateurs

Outils du site


pure_data_interface_web

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
pure_data_interface_web [2019/07/21 11:04] – créée Benjamin Labomediapure_data_interface_web [2020/12/01 17:43] (Version actuelle) – ↷ Liens modifiés en raison d'un déplacement. serge
Ligne 1: Ligne 1:
-===== PureData <-> PHP  =====+===== PureData interfaçage avec le web via php ou javascript  =====
  
-Problématique : comment faire pour que PureData puisse causer à un serveur web et inversemment. +Problématique : comment faire pour que l'on puisse interagir avec un patch Pure Data via un navigateur web ?
  
-==== Que faut il ?  ====+==== Que faut il ?  ====
  
 Pour une configuration minimum  Pour une configuration minimum 
- 
   *Pure data    *Pure data 
-  *un langage serveur ( PHP dans ce cas mais on pourrait également utiliser Python )+  *un langage serveur ( PHP Python ou Javascript) 
 + 
 +===== Pure Data et javascript ===== 
 +Voir le projet WebPd : mais nombre d'objet très limité : https://github.com/sebpiq/WebPd 
 + 
 +Voir également le projet Libpd http://libpd.cc/ https://github.com/libpd/libpd 
 + 
 +===== Pure Data et OSC ===== 
 +En utilisant la librairie javascript Nexus et en connectant ces éléments graphiques à un patch Pd via OSC  
 +  * https://nexus-js.github.io/ui/ 
 +  * https://github.com/triss/duplex-nexus-osc 
 +{{media_09:nexus_gui.png?direct|}} 
 + 
 +===== Pure Data et icecast ===== 
 +Voir le système de sonification de l'acvitié réseau via un Patch Pure Data coté serveur :  
 +[[scripts_bash_linux_audiovisuel#sonification_serveur|Scripts bash linux audiovisuel]] 
 + 
 +Voir également la librairie JS Icecream qui permet d'envoyer un flux audio à un serveur Icecast via le navigateur web https://gitlab.com/jamie/icecream
  
-Ce tuto comporte deux niveaux d'utilisation : le premier mets en place des scripts les plus simples possibles, le deuxieme mets en place une abstraction PHP ( une classe ) écrite il y a qques années par Alexandre Quessy ). +{{media_12:screengrabicecream.png?direct|}} 
 +===== Pure Data + php ===== 
 +Ce tuto comporte deux niveaux d'utilisation : le premier mets en place des scripts les plus simples possibles, le deuxieme mets en place une abstraction PHP ( une classe ) écrite il y a qques années par Alexandre Quessy ). 
  
-  *Pour ce tuto il faut avoir installer PEAR, une bibliothèque d'extensions PHP ( voir : http://pear.php.net/manual/en/installation.php ) pour utiliser l'abstraction PHP développée par Alexandre.+  *Pour ce tuto il faut avoir installer PEAR, une bibliothèque d'extensions PHP ( voir : http://pear.php.net/manual/en/installation.php ) pour utiliser l'abstraction PHP développée par Alexandre.
  
-Pour info : les exemples suivants ont été mis en place sur un système Linux +Pour info : les exemples suivants ont été mis en place sur un système Linux 
  
 ==== Principe  ==== ==== Principe  ====
  
-  *Pour envoyer des données depuis PureData : il faut démarrer un daemon PHP/PYTHON ( = création d'une sockect permanente ) côté serveur qui va écouter le port 3006 ( ou autre ) pour des messages envoyés depuis l'objet NetSend.+  *Pour envoyer des données depuis PureData : il faut démarrer un daemon PHP/PYTHON ( = création d'une sockect permanente ) côté serveur qui va écouter le port 3006 ( ou autre ) pour des messages envoyés depuis l'objet NetSend.
  
-  *Pour envoyer des données vers PureData: on ouvre une socket avec PHP/PYTHON sur le port 3005 parlequel on envoie de la donnée.+  *Pour envoyer des données vers PureData: on ouvre une socket avec PHP/PYTHON sur le port 3005 par lequel on envoie de la donnée.
  
 ===== Solution 1 : Causerie Pd php via ajax ===== ===== Solution 1 : Causerie Pd php via ajax =====
-  * Voir le paquet [[Fichier:Php2pd.zip]]+  * Voir le paquet {{ media_11:php2pd.zip |}}
  
 ===== Solution 2 : Mise en place de sockets pour causer à Puredata via du PHP  ===== ===== Solution 2 : Mise en place de sockets pour causer à Puredata via du PHP  =====
Ligne 29: Ligne 47:
 Dans un premier temps, on va utiliser un exemple le plus simple possible écrit avec les fonctions de base de PHP: J'ai placé ce fichier dans mon répertoire web ( /var/www ).  Dans un premier temps, on va utiliser un exemple le plus simple possible écrit avec les fonctions de base de PHP: J'ai placé ce fichier dans mon répertoire web ( /var/www ). 
  
-Pré-requis : Avoir installé PHP5 et PHP5-cli sur sa machine sur sa machine +Pré-requis : Avoir installé PHP5 et PHP5-cli sur sa machine sur sa machine 
  
   sudo apt-get install PHP5 PHP5-cli   sudo apt-get install PHP5 PHP5-cli
Ligne 211: Ligne 229:
   /usr/share/php/Audio/PureData/Audio_PureData   /usr/share/php/Audio/PureData/Audio_PureData
  
-Sinon il est possible de les trouver directement ici : http://alexandre.quessy.net/pd/Audio_PureData-0.10.0.tgz +Sinon il est possible de les trouver directement ici : http://alexandre.quessy.net/pd/Audio_PureData-0.10.0.tgz ou ici {{ media_03:audio_puredata-0.10.0.tgz |}}
  
-il faut copier ces fichiers dans un /var/www/puredata ( en tous cas un répertoire web ) 4 fichiers : demo-server.php demo-server-sender.pd demo-server.php demo-simple-receive.pd demo-simple-send.php +il faut copier ces fichiers dans un /var/www/puredata ( en tous cas un répertoire web ) 4 fichiers : demo-server.php demo-server-sender.pd demo-server.php demo-simple-receive.pd demo-simple-send.php 
  
-en ligne de commande : +en ligne de commande  
  
   cd /var/www/puredata   cd /var/www/puredata
Ligne 226: Ligne 244:
 Désormais, ouvrir le demo-server-sender.pd, faire qques manipulations depuis le patch et voir le résultat dans la console  Désormais, ouvrir le demo-server-sender.pd, faire qques manipulations depuis le patch et voir le résultat dans la console 
  
-== TODO  == +{{tag>pure_data pd javascript audio web bj}}
- +
-faire un exemple simple pour recevoir de la données transcrire les exemples simples en Python +
- +
-= Solutions alternatives = +
-  * OSC et javascript http://automata.cc/osc-web +
-  * Controlling Ableton with a Web Browser http://www.samgreene.com/content/browser-controller +
- +
-{{tag>pure_data javascript audio web}}+
  
pure_data_interface_web.1563707077.txt.gz · Dernière modification : 2019/07/21 11:04 de Benjamin Labomedia