Certains liens ne seront pas actifs s´il n´y a pas de connexion
internet.
Principe
Intention
Cette installation reprend deux techniques:
l´
automapping (1988)
et l´algorithme de la
cohérence de flux (2006)
pour produire une harmonie entre les actions du spectateur et le résultat.
Plusieurs jeux de paramètres et d´animations compactées dans des
multi images
(comprenant toute une série de plans de pixels) sont disponibles:
un univers floral (animation accélérée d´éclosion de
fleurs).
animations diverses issues de mes
films.
Plusieurs
dimensions d´images sont disponibles.
Description
------------>
Il faut:
1) un local obscur d´environ 3m X 3m X 2.50m dont les 6 faces sont peintes en blanc.
2) un vidéo projecteur grand angle assez puissant dont l´image couvre toute
la pièce (immersion).
vidéo projecteur ===> image <
3) un ordinateur PC: 4GHz, 8Go, système Windows, bonne carte graphique
(NVIDIA récente).
4) plusieurs micros sur pied de hauteurs différentes (pour les enfants,
les adultes et leur interaction, dont les signaus sont mixés vers
l´entrée micro externe de l´ordinateur.
micros => input audio externe PC
Interaction
Les
menus donnent accès à tous les paramètres.
Les
raccourcis clavierdonnent accès à un
mini menu permettant d´interagir avec ou sans
affichage.
Une fonction
string_.func peut être exécutée
avec le paramètre
chaine tapé après
S. Le
nom de cette fonction peut être changé avec l´option
S=string_new.
Par défaut les numéros des dossiers actifs varient aléatoirement, la touche
L passe en mode variation dans un intervalle [d,d+amp], avec
d=numéro du dossier actif, pour choisir
amp enfoner la touche
l,amp augmente
(touche
+) ou diminue (touche
-) ou cliquer sur l´échelle amp
(si
a est actif).
Technique
Un vecteur capteur (dimension = nombre de capteurs) et ses deux dérivées
successives
(vitesse et accélération) sont connectés aux paramètres de l´
automapping qui reproduit récursivement une scène 3D de surfaces mappées
par des images animées stockées sous forme d´images
3D
et également aux paramètres de génération de musique.
audio => fft => dynamique => automapping
Une couche "intelligente" est interposée entre la capture et l´
autommaping: les capteurs nourricent les entrées de réseaux neuronaux
complètement connectés dont les entrées sont connectées
aux variations de fft du signal audio et dont les sorties agisent sur les paramètres
dynamiques de l´automapping.
Ces réseaux sont continuement entrainés par l´algorithme
de la
coherence de flux de façon à assurer une harmonie entre
l´action
des interacteurs et l´effet visuel ou musical obtenu.
audio => réseau neural => output => fft => dynamique =>
automapping => feed back
Programmation
Le programme
sensor.func gère les capteurs.
Le programme
net.func gère les réseaux neuronaux.
Et le programme principal
imaflow.func gère
l´automaping.
Ces programmes sont écrits en langage anyflo, commentés et modifiables.
Les paramètres courants sont stockés dans le fichier
IMAFLOW et lus à chaque lancement du programme, les
paramètres par défaut
sont stockés dans le fichier
IMAFLOW0 et ne doivent pas
être modifiés.
Le menu
PARAM_CHANGE permet de les modifier et le menu
PARAM_WRITE permet de les sauver dans le fichier
IMAFLOW.
Cette installation gère, en fonction des capteurs, un flux d´images
animées
stockées selon plusieurs modes:
En mémoire
Option
def=FIC où
FIC est une liste de dossiers
diri
supposées contenir des images 3D *.ima.
En cours d´animation la commande
interpol texture speed(s)vol(id); change la vitesse
des bitmaps du volume
id.
Sur le disque
Option
dis=FIC où
FIC est une liste de dossiers
diri supposées
contenir des images 3D *.ima.
Changement des paramètres
Le menu
PARAM_CHANGE donne accès à tous les
paramètres.
Des
raccourcis claviers permettent d´en changer certains sans
afficher les menus correspondants (public show).
Dimension des images
L´installation peut se lancer suivant 3 dimensions d´images:
Dimension 128
Faible définition mais très rapide (convient pour de petites machines).
L´extension des fichiers de lancement est
128:
imaflow_def_128: images en mémoire
imaflow_def_fic_128 images en mémoire
à partir du fichier
FIC-128
imaflow_dis_fic_128 images lues à
partir du fichier
FIC-128
Dimension 256
Définition moyenne (convient pour la plupart des machines).
L´extension des fichiers de lancement est
256:
imaflow_def_fic_256 images en mémoire
à partir du fichier
FIC-256
imaflow_dis_fic_256 images lues à
partir du fichier
FIC-256
Dimension 512
Haute définition mais lent (ne convient que pour des machines rapides).
L´extension des fichiers de lancement est
512:
imaflow_def_fic_512 images en mémoire
à partir du fichier
FIC-512
imaflow_dis_fic_512 images lues à
partir du fichier
FIC-512
Sounds
Le menu
SOUNDS permet de lire des fichiers
.wav et de les jouer. Les commandes
audio play(n) jouent
le son
n dépendant des variations des capteuurs.
Un fonctionnement avec feed-back peut être
très simplement obtenu en rapprochant le micro des enceintes
(en évitant le Larsen).
Remarque:
Pour modifier les paramètres: enfoncer la touche
: (deux points).
Les sons sont joués par le programme principal imaflow.func, le capteur audio est
lu par le driver
audio_server.func lancé par
audio_server.js, lui-même lancé automatiquemant pae
imaflow_wav.js.
Sounds automatique
Cliquer sut
imaflow_wav.js qui lance le driver
audio_server.func de mémoire partagée,
et aussi
imaflow au bout de 2 secondes, ce qui permet à la fenêtre de ce
dernier de couvrir le premier et ainsi de pouvoir interagir à la souris at au clavier.
Menus
Enfoncer la touche
: (deux points) pour faire apparaitre et disparaitre les menus.
HEL
Aide.
DOC
Ce fichier.
BUILD
HEL
Aide.
BASE
Modifier:
nxy = définition des grilles.
nb = nombre de bases.
MULT
Modifier:
nb = nombre de mults.
DISPL
HEL
Aide.
IMAGE
Cliquer sur num1.
ANIM
Pour lancer l´animation (s´il n´y a pas d´image).
NET
Modifier:
hide = nombre de couches cachées
couples = nombre de couples d´apprentissage
memory(1)roll=.25*Sensor;
m=validate motif(memory(1))network(1);
PARAM
HEL
Aide.
CHANGE
Modifier les échelles:
dim: dimension des motifs et des lois du réseau neuronal.
stif,visc: raideur et viscosité du ressort.
reac,visc,acc,exp: force de réaction fonction de
l´accélération.
rota,tran,dila: rotation, translation et dilatation fonctions de
l´accélération.
type: période du changement automatique de interpol texture number.
force: force add vertex vol(Base0).
stand: rotation au repos.
S_A: coefficient de valeur du capteur.
param: ensemble de paramètres.
directory: numéro du directory actif (option dis.
kdir: coefficient réglant l´amplitude des dossiers.
max_dir: nombre de dossiers.
disk: disk (fréquence de lecture des images).
global: coefficient multiplicateur global.
speed max: amplitude maximale de texture speed.
coe: coefficient multiplicateur de texture speed.
échelles des texture speed.
Tous ces paramètres sont lus et sauvés.
READ0
Lit et exeécute le fichier IMA_FLOW0 (ne pas modifier ce fichier).
READ
Lit et exeécute les fichier IMAFLOW et SENSOR, ces fichiers sont lus
au lancement
du programme.
WRITE
Écrit les paramètres dans les fichiers IMAFLOW et SENSOR.
DILA
yes/no dila vol(Base0)
TRAN
yes/no tran vol(SkyA)
SOUNDS
HEL
Aide
READ
Cliquer sur des noms de fichiers wav: les charge.
PLAY
Cliquer sur n: joue wav numéro n.
STOP
Stoppe sounds.
ON/OFF
yes/no sounds.
DIR
HEL: aide
RAND: dossiers alétoires.
INV: dossier invariant, choisir num.
ILLUM
yes/no illum.
TEXT
yes/no texture.
TRANSP
Active/désactive la transparence automatique.
DEBUG
Mode debug, des messages sont émis.
CHANGE
Cliquer sur un nom d´image.
DIR
Si option dis (lecture des images sur le disque): modifier num:
-1: dossiers variables
>0: dossier invariable de numéro num
INI
Initialisation.
NUL
case vide du menu (juste avant EXI), supprime les messages.
EXI
EXI
Termine le programme.
Mini menu
Enfoncer la touche : (deux points) pour faire apparaitre et disparaitre les menus.
HEL
Aide.
DOC
Ce fichier.
BUILD
HEL
Aide.
BASE
Modifier:
nxy = définition des grilles.
nb = nombre de bases.
MULT
Modifier:
nb = nombre de mults.
DISPL
HEL
Aide.
IMAGE
Cliquer sur num1.
ANIM
Pour lancer l´animation (s´il n´y a pas d´image).
NET
Modifier:
hide = nombre de couches cachées
couples = nombre de couples d´apprentissage
memory(1)roll=.25*Sensor;
m=validate motif(memory(1))network(1);
PARAM
HEL
Aide.
CHANGE
Modifier les échelles:
dim: dimension des motifs et des lois du réseau neuronal.
stif,visc: raideur et viscosité du ressort.
reac,visc,acc,exp: force de réaction fonction de
l´accélération.
rota,tran,dila: rotation, translation et dilatation fonctions de
l´accélération.
type: période du changement automatique de interpol texture number.
force: force add vertex vol(Base0).
stand: rotation au repos.
S_A: coefficient de valeur du capteur.
param: ensemble de paramètres.
directory: numéro du directory actif (option dis.
kdir: coefficient réglant l´amplitude des dossiers.
max_dir: nombre de dossiers.
disk: disk (fréquence de lecture des images).
global: coefficient multiplicateur global.
speed max: amplitude maximale de texture speed.
coe: coefficient multiplicateur de texture speed.
échelles des texture speed.
Tous ces paramètres sont lus et sauvés.
READ0
Lit et exeécute le fichier IMA_FLOW0 (ne pas modifier ce fichier).
READ
Lit et exeécute les fichier IMAFLOW et SENSOR, ces fichiers sont lus
au lancement
du programme.
WRITE
Écrit les paramètres dans les fichiers IMAFLOW et SENSOR.
DILA
yes/no dila vol(Base0)
TRAN
yes/no tran vol(SkyA)
SOUNDS
HEL
Aide
READ
Cliquer sur des noms de fichiers wav: les charge.
PLAY
Cliquer sur n: joue wav numéro n.
STOP
Stoppe sounds.
ON/OFF
yes/no sounds.
DIR
HEL: aide
RAND: dossiers alétoires.
INV: dossier invariant, choisir num.
ILLUM
yes/no illum.
TEXT
yes/no texture.
TRANSP
Active/désactive la transparence automatique.
DEBUG
Mode debug, des messages sont émis.
CHANGE
Cliquer sur un nom d´image.
DIR
Si option dis (lecture des images sur le disque): modifier num:
-1: dossiers variables
>0: dossier invariable de numéro num
INI
Initialisation.
NUL
case vide du menu (juste avant EXI), supprime les messages.
EXI
EXI
Termine le programme.
Mini menu
Certaines touches (B D g M S s) donnent accès à un mini menu
(non affiché par défaut mais pouvant être affiché par a)
au bas de l´écran (couleur Col_Key=.5,.5,.5) permettant d´interagir de
façon transparente.
Raccourcis clavier
a: yes/no displ mini menu.
B: cliquer sur le nombre de bases ou + -.
b: debug.
c: no/yes mult.
D: cliquer sur le numéro du directory ou + -.
d: yes/no dila.
g: cliquer surle coefficient global ou + -.
h: help.
I initialisation.
i dossiers variables.
L: variation des dossiers dans un intervalle d´amplitude l.
l: cliquer sur amp ou + -,
qui vaut [d,d+amp] avec d = numéro du directory courant. Pour revenir aux
variations automatiques enfoncer la touche i.
M: cliquer sur le nombre de multiples ou + -.
m: yes/no mobile.
N yes/no ="#NETWORK.
q quitte le programme\n";
r: yes/no rota.
S: taper une chaine de caractères ccc suivie de ENTER,
la fonction STRING(ccc) est exécutée,
permet de passer une commande sur plusieurs caractères du type "ccc"x1,x2,...
dans la fonction modèle STRING0.func:
_ sort de ce mode
; yes/no mouse
: yes/no menu
h mini menu pour S
b yes/no debug
n yes:no name pour b
Bx x bases
gx global=x
Mx mult=x
sx coe sensor=x
s: cliquer sur le coefficient des capteurs.
T: yes/no transp.
t: yes/no tran.
L: dossiers variant dans un intervalle.
l: cliquer sur amp ou + -.
: cache les menus\n";
; cache la souris\n";
+: augmentation (selon le type B D g M S s)
-: diminutiion (selon le type B D g M S s)
v: yes/no variations automatiques
_: efface le mini menu.
Options
: cache les menus
- cache la souris
acc=n Coe_Acc[2]=n.
aud=n Sensor_Coe_Audio[2]=n.
bas=n: nombre de bases
cen: lit ../../../ima/cen/*.ima, voir make_cen pour
construire de tellse images.
coe=c: Coe2[2]=Coe2[3]=e.
dis: lecture continue de toutes les imsges *.ima du directory
../../ima.
deb: mode debug
def: paramèstres par défaut, modifier
les paramètres après létiquette (case("def").
def=FIC: Le fichier FIC contient une liste de dossiers d´images 3D.
dis: paramèstres par défaut, modifier
les paramètres après létiquette (case("dis").
dis=FIC: Le fichier FIC contient une liste de dossiers d´images 3D.
fil=noms des dossiers contenant des images 3D *.ima
fil=File1 File2 ...: dosiers *.ima.
fil0="../../ima0": dossier de toutes les images *.ima (par défaut ../../ima).
for=c: force add vertex vol(Base0)
glo=c: coefficient multiplicateur global.
imanam=dir/name.eee nom des images sauvées, l´option num=im1,ni
est obligatoire.
imo: immobile, il faut faire m pour mettre en mouvement.
mul=n: n surfaces multiples intercallées entre le ciel et les bases.
net réseaux neuronaux.
nombre: modifier le code aprè:s else /* imaflow(number) */
dans la fonction option(w)
num=im1,ni premier numéro et nombre des images sauvées par
l´option nam.
r_i=nnn.eee: lecture des images sous les noms *nnn.eee
(../../ima/sav_image/A.jpg par défaut).
r_s: read sensor memory; les valeurs des capteurs sont lues depuis
le fichier mémoire écrit lors de la phase
Enregistrement des capteurs
w_i=nnn.eee: enregistre les images sous les noms *nnn.eee
(../../ima/sav_image/A.jpg par défaut).
w_s=nnn.mem: enregistre les capteurs dans le fichier mémoire
nnn.mem (sensor.mem par défaut).
sensinwri: écriture du capteur sin.
sha: capteur via la m&eaute;moire partagée A.
sinsav: capteur SIN
sin: capteur SIN et
sauvegarde des images.
tes=TEST: lir le fichier TEST de paramètres partuculiers.
tra: active la transparence automatique modifiable dans Coe_Transp.
TRA: PARAM_TRAN
wav=Wav: directory *.wav
wri: paramèstres par défaut de l´option
senwri d´écriture du capteur, modifier
les paramètres après létiquette (case("wri").
com
com=d1 d2 ...: calcule toutes les images à partir de dossiers di
contenant des images 3D.
Options programmées
Les fichiers *.js donnent des exempled d´options programmées.
Les options peuvent être ajoutées dans la fonction option():
imaflow_senwri.js: écrit les valeurs du capteur dans le fichier
sensor.mem.
imaflow_reasav.js: lit les valeurs du capteur
depuis le fichier sensor.mem et sauve
les images dans les fichiers ../../A/A[0001,500].bmp
imaflow_sinsav.js">: capteur type
sin et sauve les images dans les fichiers
../../A/A[0001,500].bmp.
imaflow_wav.js: fonctionnement autonome, les sons
captés produisent d´autres
sons qui peuvent être réinjectés en boucle.
Montage:
Aller dans ../mount et monter les séquences d´images.
Aller dans ../ima_song et générer la musique à
partir des images
de ../../ima/title.
Finalement monter les images et les sons par exemple dans premiere
ou videopad.
sensor.func
Outils
make_ima
make_ima.func lancé par
make_ima.js
Il est nécessaire de modifier le code de la fonction:
name1="../../../images/AUTOMAPPE/.jpg"; /* nom des images à compacter */
num=8; /* premier numéro */
ni=12; /* nombre d'images */
d=256; /* taille de l'image compactée */
digit="6D"; /* nombre de chiffres des numéros */
dir2="../../ima/ima256/AUTOMAPPE-256/";
construit le fichier name2.ima dont les couches sont les images
A[num,num+ni-1].zzz/D de dimension d.
make_cen
make_cen.func lancé par
make_cen.js
construit les images ../../../ima/cen/*.ima par:
image(i)dim(x,y,z)sin center.
Il est nécessaire de modifier le code de env/make_cen.func
redim
redim.func lancé par redim.js
change les dimensions d´image 3D *.ima
Il est nécessaire de modifier le code de env/redim.func
Temps différé
Méthode
Pour des images de grande taille (>256) et/ou de grandes bases de donnée le
temps réel n´est plus possible.
Enregistrement des capteurs
Lancer l´application avec l´option
w_s: write sensors.
Enregistrement des images
Lancer l´application avec les options:
r_s: read sensor memory,
w_i: write image, les images sont écrites
dans les fichiers de nom w_i: name image nnn.eee.
Des capteurs automatiques:
RAND
SIN
permettent d´enregistrer directement les images .
Exemples:
imaflo_rand_wri.js
imaflo_sin_wri.js
modifier le code après l´étiquette case("wri"):
Programmes
imaflow
nb=Nb_Base[2] grilles de base de numéros [Base1,Base1+nb[ supportent ni textures
[Read,Read+ni[ lues par
texture directory et interpolées par
interpol texture.
la dynamique de ces grilles est fonction des valeurs Sensor_Val du capteur
calculées dans la fonction sensor_get().
L´image est reprise par automapping sur ns=Nb_Sky[2] et nm=Nb_Mult[2] grilles
animées
de la même façon.
Le vecteur Sensor_Val est transformé par des réseaux neuronaux
presque
complètement connectés
entraînés par l´algotithme de la
cohérence de flux.