Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2010-10-09 22:47:27 Caractères accentués de Python vers Puredata

Olivier
N°4
Lieu: Chalon sur la Saône
Date d'inscription: 2009-04-07
Messages: 1471
Site web

Caractères accentués de Python vers Puredata



Bonsjours...

Je souhaite récupérer un flux de string de caractères accentués de Python vers Puredata...

J'ai tenté avec de l'OSC, mais non seulement la lib de MrPeach ne semble pas gérer l'UTF-8 mais il semblerait que ce ne soit pas non plus le cas de pyOSC + simpleOSC dans Python...

Comment feriez-vous sans avoir à passer par de l'écriture de fichiers txt externes ?

Merci


L'Amour au Peuple !

Hors ligne

 

#2 2010-10-10 11:16:15 Re : Caractères accentués de Python vers Puredata

oli44
membre
Lieu: Notre Dame des Landes
Date d'inscription: 2008-04-25
Messages: 585
Site web

Re: Caractères accentués de Python vers Puredata



J'ai déjà eu le problème, je suis allé lire la norme OSC et c'est de l'ASCII point barre. J'ai réfléchi à trois implémentations sans jamais les mettre en oeuvre (on est fainéant parfois)

La première consisterait à passer par un encodage genre HTML 3.2.

Du côté Python, tu commences par enlever tous les ;
tu récupères la lib qui va bien (laquelle? je sais pas) qui permet d'encoder un é par exemple en é

Comme le ; a un signification spécifique pour Pd, il faut soit l'échapper à nouveau, ou l'encoder en autre chose. Je pense qu'on peut utiliser le signe * sans souci.

é deviendrait donc &eacute*

On a ensuite notre communication OSC.

Du côté Puredata, tu parses le tout avec un assemblage savant de list-abs/list-replace mais cela impose de tout passer en liste, même un simple mot, en tout cas un joli exercice de traitement récursif.

La seconde est sans doute la plus clean et la plus rapide côté Pd: elle consiste à tout encoder du côté python en byte, envoyer en OSC en integer,  puis d'utiliser [moocow/bytes2any].

La troisième est la plus chelou, mais elle marcherait du coup pour des images, du son, du caca mental

Python génère à la volée un fichier (une archive?) , l'envoie en udp sur un RAM disk (/dev/shm), donne les instructions pour la désarchiver, puis pour la lire avec [text] ou [qlist].
ça peut paraitre lourdingue, mais si jamais tu connais à l'avance le texte que tu dois envoyer (comme des sous-titres pour une vidéo), il te suffit d'envoyer la commande OSC "affiche moi la ligne 1327 aux coordonnées X,Y" et ce sera instantané.

BOn, je sais , tu ne voulais pas passer par un fichier texte, mais là on écrit à la volée, et en RAM :-P


La route est longue mais la voie est libre

Hors ligne

 

#3 2010-10-10 12:15:30 Re : Caractères accentués de Python vers Puredata

Olivier
N°4
Lieu: Chalon sur la Saône
Date d'inscription: 2009-04-07
Messages: 1471
Site web

Re: Caractères accentués de Python vers Puredata



Merci Oli...
En voilà des pistes... smile

En fait, je crois que je suis resté en 1986... tongue
... car ça me semblait impossible de pouvoir écrire dans un fichier et le faire lire dans la procédure suivante.

Du coup, j'ai essayé tout simplement d'écrire un fichier texte et d'envoyer un bang en OSC à Puredata pour qu'il le lise :

Code (python) :

... et bien, ça marche.

L'idée, ici, est d'exploiter dans Puredata le flux d'un canal IRC tout en ayant la puissance de feu de parsing de Python...
On va gagner !


L'Amour au Peuple !

Hors ligne

 

#4 2010-10-10 17:41:17 Re : Caractères accentués de Python vers Puredata

mrpropre
membre
Lieu: paris
Date d'inscription: 2008-11-13
Messages: 96
Site web

Re: Caractères accentués de Python vers Puredata



Comment feriez-vous sans avoir à passer par de l'écriture de fichiers txt externes ?

=> Sinon la méthode la plus simple pour passer une string avec des caractères accentués ainsi que la ponctuation est une conversion en ASCII il me semble non? C'est ce que j'ai fait pour un programme qui récupère les actualités facebook vers pd.


8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----
http://www.raphaelisdant.fr/

Hors ligne

 

#5 2010-10-10 22:28:13 Re : Caractères accentués de Python vers Puredata

emoc
@#@*$
Lieu: Quimper
Date d'inscription: 2008-01-28
Messages: 1576
Site web

Re: Caractères accentués de Python vers Puredata



Olivier a écrit:

L'idée, ici, est d'exploiter dans Puredata le flux d'un canal IRC tout en ayant la puissance de feu de parsing de Python...

C'est plein de promesses, cette idée!

Hors ligne

 

#6 2010-10-11 10:18:36 Re : Caractères accentués de Python vers Puredata

oli44
membre
Lieu: Notre Dame des Landes
Date d'inscription: 2008-04-25
Messages: 585
Site web

Re: Caractères accentués de Python vers Puredata



Salut raf,

tu as tous les caractères accentués dans la table ascii? http://www.hobbyprojects.com/ascii-tabl … table1.gif

Le truc c'est qu'il y en a plusieurs, une de 0 à 127, et elle ne les a pas tous , et l'autre de 0 à 255, qui a tous les caractères occidentaux (enfin, français et espagnols).


La route est longue mais la voie est libre

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024