Peerfuse – un système de fichier P2P


Il y a tant à dire des possibilités de Peerfuse, ce fabuleux projet de système de fichier P2P, basé sur Fuse. Si on en oublie l’historique, ce qu’il faut retenir, c’est que le projet à été fonctionnel pendant un moment. Si si. Mais plus aujourd’hui.

La nouvelle version non finalisé de Peerfuse voit son code entièrement adapté à la DHT: Chimera, portée et corrigée en C++ par Romain, le chef du projet. Le travail de portage est long et démotivant, c’est pour cela qu’il ne faut pas relacher la pression 🙂

Romain: Il nous faut une nouvelle version si tu veux que les contributeurs bossent !


Noya – surface multitouch (DSI)


noya_table_surface_multitouch.jpg
Après de multiples test, lectures et études, me voici en soir avec une surface multitouch fonctionnelle, de type Diffused Surface Illumination ! Pour réaliser la surface, il m’a fallu :

  • un PLEXIGLAS® EndLighten, de 800mm sur 600mm
  • 4 profilés en forme U (2 de 812mm et 2 de 612mm)
  • 90 Leds infrarouges SFH485
  • 18 résistances de 47 Ohms / 1W
  • un film de verre mat 800mm sur 600mm

Le détail de la construction est visible sur l’album web de surface multitouch Noya. La détection des formes est parfaite, j’arrive même à réduire jusqu’à 60% la taille des fiducials, et la détection est toujours OK.

table multitouch + reactivision

La diffusion est plus dense sur les bords qu’au centre, mais avec la soustraction d’une image de base, on arrive à un résultat parfait ! Plus de détails dans un prochain post 🙂

Et merci à Rémi et Pascal pour leurs conseils sur les fils et la futur alimentation des leds 🙂


Noya – nouveau design des objets + configuration


Marre des cubes. Au début c’était marrant, mais pour visualiser des informations en tournant le cube, c’était moyen. Du coup, au revoir les cubes, au revoir les widgets, bonjour les ronds !

noya_screenshot_circle.png

Le premier cercle représente la position de lecture du son, et le cercle extérieur représente le volume. C’est plus visuel, et plus facile pour savoir quand poser un cube ou non…

La configuration a été entièrement revu afin d’utiliser libconfig, fini les fichiers ini. La nouvelle configuration permet de :

  • créer des classes d’objets avec une configuration par défaut
  • support de l’héritage pour les classes
  • créer un acteur héritant d’une classe

On peut donc facilement créer des classes “rythmes”, “basses”, “nappes” dérivant de la classe par défaut, et changer juste la couleur du rond… Et facilité la création de scène ! J’écrirais pour la prochaine version un tutorial sur la création et l’utilisation de ces classes.

Note: j’ai reçu la plaque de Plexiglass EndLighten 0N001 : 800mm x 600mm x 8mm. Plus d’information sur la construction de la nouvelle table la semaine prochaine 🙂


Lulea, le seul webcomic garanti 100% dopé aux stéroïdes.


Et pour peu, Luléa est fait par un grand homme et non des moindres, un gars qui collectionne autant d’originaux de musique que moi avec les lignes de codes, un gars qui drague en spécifiant que “j’ai réussi à compiler linux, je peux te faire l’amour” (approximativement.), un gars qui parfois sur Classic 21 vous fera passer un message personnel…

On ne s’en lasse pas, et ca ne fait que commencer : http://www.oeuillet.be/lulea/ !


Noya – Table 01, done.


Noya + macro
Tout le matériel nécessaire pour le premier test grandeur nature de la table était réuni. Il y avait besoin :

  • un vidéo projecteur
  • une caméra infrarouge avec un grand débit
  • un projecteur infrarouge
  • un filtre de spectre visible
  • un mirroir
  • une table en verre
  • un film mat de verre (merci à lucie pour l’application :*)
  • des bouchons de lait avec des fiducials
  • un mirroir 70×50
  • des cartons

Ce qui donne :

Noya + table + construction

On compte environ 1h d’installation, 1h de réglage, 2h de code / calibrage / tests, et 1h de jeu. C’est un début pas aussi fonctionnel que je l’aurais pensé. Et pour cause :

  • l’ouverture du vidéo projecteur est trop petite, ce qui nécessite 2m de distance entre la table et le vidéo projecteur pour avoir une image d’une auteur de 90cm (diamètre du centre de la table). Impossible à faire, le mirroir étant trop près de la table.
  • la table en verre réfléchi beaucoup trop n’importe quel source de lumière.
  • le projecteur infrarouge est trop directionnel, quand un objet est au centre de la source, on ne le distingue pas à l’écran. Du coup, l’acquisition n’étant pas fluide, et très instable…
  • le calibrage de la caméra dans reacTIVision est vraiment insoutenable.
  • il n’y avait pas de calibrage possible dans Noya…

J’ai donc codé rapidement un calibrage, permettant de redimensionner la source d’acquisition, et ainsi avoir l’image qui colle en dessous des objets. Et voici le résultat :

La table en verre c’est fini. La prochaine étape, une construction de la table avec du plexiglass, un montage en bois, et le mirroir qui va bien 🙂


Noya – la suite !


La suite n’est pas forcément toute belle :/ Plus de 100€ de dépense pour :

  • l’achat de 2 blocs optiques chez Unibrain : je n’arrivais plus à remonter le mien dans le “bon” ordre suite à une fausse manipulation…
  • l’achat d’un film de verre effect “mat” pour coller à la future table.

De plus, en mettant à jour Ubuntu Intrepid, Clutter ou la librairie GL est tout cassé… Je n’arrive plus à effectuer un seul rendu 🙁

Néanmoins, le projet avance avec comme nouveauté :

  • une interface d’effet, venant s’interfacer entre le son et la sortie audio
  • un objet effet LADSPA : il permet d’utiliser n’importe quel effet LADSPA sur la table ! Vive les filtres haut/bas, effet reverse… ^^

Noya – caméra et infrarouge


Une belle nuit. Il y avait encore une semaine, je pensais m’être trompé sur l’achat du projecteur infrarouge. De pleine face, la caméra visualisait le projecteur IR, mais pas la projection sur un mur blanc. Et pendant mes premiers tests, l’alimentation avait laché…
Ce soir, j’ai démonté de nouveau la caméra (pour la 3ème tentative), et j’ai réussi à démonter le bloc optique ! Il y avait bien une lentille anti-IR, d’une épaisseur de 3mm… Je retire cette lentille, remonte le tout et… BINGO !

capture IR fiducial

Après les tests sous la table en verre, il semblerai que la capture soit plus fluide avec le projecteur.

Concernant le logiciel Noya, de grosses modifications ont été apporté :

  • ajout de modules (objets, widgets…)
  • ajout de configuration de scènes
  • passage de paramètres à la ligne de commandes (pour charger une scène)

Il y a actuellement 2 objets implémentés :

  • obj_sample : objet qui lit un fichier audio en boucle ou non, avec le contrôle sur le volume
  • obj_sequencer : objet qui lit plusieurs fichiers audio à la suite, selon un nombre de mesure (suivant le bpm de la scène)

noya_widgets.png
Et un widget de barre horizontal. Ce système d’objet / widget ca sert à quoi ? A visualiser une information provenant de l’objet comme le volume, l’avancement de la lecture dans le fichier… (Exemple avec le volume 🙂

Les portes de l’imagination sont grandes ouvertes 🙂


Noya – ca sort du son !


Du son !

La première démo jouable de Noya est disponible. Récapitulons les dernières nouveautés :

  • utilisation de PortAudio pour la lecture des sons. Je rencontre quelques soucis avec alsa/dmix : le code du paquet debian serait à priori pas assez à jour, ce qui provoque l’impossibilité de récupérer un périphérique de son valide si un logiciel de son est déjà actif. Nous revoilà dans l’ancien temps…
  • utilisation de libsndfile pour la lecture de fichier wave
  • et surement l’utilisation de SRC pour le resample des fichiers avant l’utilisation

Une des étapes de Noya est de travailler sur des scènes. Une scène représentant une configuration des objets disponibles (voir le fichier de configuration de la scène “demo”). A l’aide d’un format de fichier INI, on décrit facilement une scène. Ce n’est surement pas le format final, mais c’est lisible et facilement générable par un automate, et par Noya dans un mode futur nommé “live composition”.

En attendant, voilà une capture de la dernière démo :
Noya avec la démo