*

help dreaming machine

Michel Bret, Marie-Hélène Tramus 2024
Musique Grégory Jarrige

Principe
Installation
Menus
Jukebox
Raccourcis clavier
Utilisation
Animation en play back
Options de lancement
Programme
Paramètres
Dysfonctionnements





































Principe

Extension de
code émergent [LOCAL]
de Image autonome [LOCAL]
et de artificial dream [LOCAL]
donnant une explication (non scientifique) au phénomène du rêve en montrant deux états d´un réseau neuronal:
- état de veil dans lequel la couche d´entrée est connectée aux capteurs audio (le réseau entend la musique) et les figurines dansent)
- état de sommeil dans lequel la couche d´entrée est connectée aux couches profondes (ce qui implique de nombreuses connexions réentrantes), le réseau perçoitt ses souvenirs codés;s dans la matrice des poids synaptiques: il rêve.

Le mode par défaut est celui d´une installation interactive (DEMO_JOY2.jsproposant:
1) Un générique affich´ au lancement
2) Le bouton gauche correspondant à l´état deveil
3) Le bouton du milieu permettant de sauter des étappes ou de générer un nouveau son ou un nouveau rêve
3) Le bouton de droite correspondant à l´état de rêve.




































Installation

Cette application peut fonctionner:
- en mode veil en cliquant sur EVEIL
- ou rêve en cliquant sur REVE
dans les deux cas une explication du fonctionnement du résequ est donnée audio graphiquement.

Contrôle des tempos

dans le fichier PARAM:
Aut_Awa=2; musique de 2 minutes
Aut_Awa_Seq=5; séquence évejl de 5 minutes
Aut_Dre=3; rêves de 3 minutes
Aut_Dre_Seq=10; séquence rêve de 10 minutes.
En mode MOUSZ enfoncer la touche U affiche des éeacute;chelles montrant l´exéeacute;cution des &eate;v`nements musique, rêve et séeacute;quence.



































Menu

HELUSE
DOC
TES
SELF
BODY
ILLUM
USER
SENSOR
INI
READ
WRITE
IMAGE
PARAM
emer
TEXT
EXIT

HEL

Help court.

DOC

Ce fichier.

TEST

construit automatiquement un réseau aléatoire

SELF

HEL
BUILD
START

HEL

aide

BUILD

Modifier n, la matrice des poids synaptiques sera de dimension n2*n2 avce n2 = 2 n, la dimension des motifs et des lois sera n2, les dimensions de l'image associée à la matrice sera n2 * n2, cette image sera mappée sur une grille occupant une grande partie de l'écran et, si on capte cette image pour remplir la matrice on réalise ainsi un automapping de réseau.
Le réseau ne fonctionne plus sur le mode mimétique de la reconnaissance mais comme un moteur auto entretenu de création d'images animées.

START

lance le processus

BODY

Modifier nb.
body.func construction des corps.
traj_bod.func animation des corps et gestion des collisions.
influence de l´environnement

ILLUM

yes/no illum INI Réinitialisation. READ Lit le fichier PARAM_NET des paramètres: Tempo enchainement de programmes
Ni0,Ni1 période minpmm et mximum
Sen_Coe_Fft multiplicateur de la fft
Sen_Env enveloppe
Sen_Min filtre basse amplitude
Sen_Max filtre haute amplitude
Sen_Dil amplification des hautes fréquznczs
Nb_E duré de l´explication
Sem_E explication -1 (no), 1 (yes)
Size_1_2 taille minimum et maximum des mappes Map123.
Bod_Coe_Hair longueur des cheveux. Sti_Sel,Vis_Sel ressort de Sel.
Rota rotatuon des mappes.
Coe_X,Coe_Y,Coe_Fad déplacement des mappes.
Add_Force_Rota force rota add vol.
Force0 base des forces.
Visc0 base des viscosités
Reb rebond.
Coe coefficient des forces.
Up saut.
Balance équilibre.
Center centrage.
Collision_Gravity gravité.
Coe_Ste
Rotx,Roty,Rotz rotation des torses.
Lock /*??? BUG ???*/
Lum0,Lum luminosité.
Coe_Speed,Coe_Mod coefficients pour
k.
Sen_Coe_Sng coefficient pour sng.
RP,GP,BP,DRP,DGP,DBP pulsation des couleurs.
Thr_Traj seuil de choix des trajectoires en fonction de Sen_Nb_Gre.
Period_Traj période de pulsation des trajectoires.
Sen_Average dynamic(id)average.
Coe_Speed_Rota coefficient pour K.
Coe_Map coefficient de variation des mappes.
Sen_Top_Thr Sen_Top=(Sen_Dif>Sen_Dif_Ave*Sen_Top_Thr[2])=1 : 0; permet de déclencher les mouvements avant terme.
Back_Speed contre mouvement
Rota_Rad rotation des radius WRITE Écrit le fichier PARAM_NET des paramètres, permet de relancer el programme avec les paramètres modifiés. IMAGE

HEL
BUILD
DISPL

HEL

Aide.

BUILD

Construit une image 3D.

DISPL

Affiche une image 3D.

PARAM

HEL
IMAGE
DYNAMIC
BODY
INETWORK
SENSOR
COE
AUD
VID
DEBUG

HEL

Help

IMAGE

Paramètres d´image;.
size1,size2 minimum et maximum de dilatation des mappes Map1,2,3.
rota,force rotation des mappes.
x,y déplacement des mappes.
fad *(x,y).
lum0,lum col=lum0+rgb*lum*sqrt(Sen_Nb_Gre)
r,g,b RP,GP,BP.
dr,dg,db DRP,DGP,DBP: puls(RP,GP,BP). RP,GP,BP;

DYNAMIC

Paramètres de la dynamique.

BODY

Paramètresdes corps.
nb nombre de corps
t0,t1,t transparence maximum,minimum,courante
traj 1,2,3: choix définitif, 0: retour au mode pulsé de variation de traj.

INETWORK

Paramètres des réseaux neuronaux.
hide nombre de couches cachées.

SENSOR

Paramètres des capteurs.

COE

Coefficients.

AUD

cliquer sur num joue l´audio num. a name="PAR_VID">

VID

cliquer sur num joue l´image 3D num.

DEBUG

interaction debug.

EMER

Affichage du code émergent, r sur fond noir, E explications.

TEXT

Le texte du fichier Text s'affiche ligne par ligne au bas de l'écran, cliquer dans le texte pour changer de ligne.
L'option tex=Text1 permet de charger un autre fichier Text1.
Si la première ligne est:
*Text_Poi=Xe1+Dy2,Ye2-4*Dy2;Text_D=2;
Le texte s'affiche par 2 lignes au point Xe1+Dy2,Ye2-4*Dy2.
Si une ligen se termine par Fn la fonction Fig(n) est exécutée (fichier TEX.func).

EXI

Termine le programme.



































cclavier

Un caractère
Raccourcis long

Un caractère

A vibration des maps
B couleur du fond
C socks
D yes/no cursor
E explications
F focale automatique
H Hat
I sauvegarde les images à partir du fichier sensor.

L Lock actif
M=n nombre de mappes actives? si n>4 nombre pulsé entre 1 et 4 de période n
N contrast
O simple
R reset
S Num_S++
T trajectoires automatiques
T programme suivant après Tempo images
U func_USE()
W yes/no wing
X text
Y a< href="#EME">EMER/a>text
Z rand Num_S
a fft automatique
b body++:
b>c displ fft, dila=correction de la fft (augmente les aigus)
d dila body
e yes/no ext
f ini/previous fft
g pressg key to start
h help i yes/no illum"Y p
Paramètres
q exit
r yes/bo displ network back
s SPEED
t yes/no transp
u pour que plusieurs corps se tournent autour
v auto auto map (developing)
x affichage rapide
z complex (b=3,A+,u+)
: yes/no menu
. affiche le mini menu des paramètres
* mode raccourcis long terminé par ENTER affiché an bas et à gauche de l´écran aprè le signe <<. Les 2 premiers caractères doivent être tapés assez rapidement, sinon le premier caractère déclenche la fonction définies dans F0.
* sort de ce mode.

Raccourcis long


spe
mode spécial.



































Utilisation

Cliquer sur DEMO_JOY.js joystick 2 boutons.
clliquer gauche: éveil
clliquer droite: rêve
clliquer milieu: change de musique ou de rêve.

Cliquer sur DEMO_MOUSE.js: souris, permet d´activer les menus (enfoncer la touche :).
clliquer sur EVEIL: mode éveil
clliquer REVE: mode rêve.
clliquer MODIFIER: change de musique ou de rêve.
clliquer HELP: aide.
clliquer STOP: fige la démo.

Cliquer sur SPEC_JOY.js comme DEMO_JOY.js mais sans explications.

Cliquer sur SPEC_MOUSE.js comme DEM_MOUSE.js mais sans explications.

Options

aut pour régler les successions éveil/rêve.
dem paramètres de démo
def paramètres par déaut des corps
B fond variable
D mini menu off
ran trajectoires aléatoire
a ajustement automatique du signal audio
joy=2 joystick 3 boutons (souris fixe)
del=1.15 délai déacute;affichage des explications
ima_dir=ima1 dossier des *.ima
ima_max=8 nombre de fichiers *.ima d´un rêve.
aut_awa=1.5,3 1.5 minute entre 2 musiques, 3 minutes avznt recirc;ve
aut_dre=1.5,3 1.5 minute entre 2 recirc;ves, 3 minutes avznt éveil.
spec mode spectacle (sans explications).

pour quitter le programme: Alt F4 àu enfoncer la touche q.



































Modification

sing Les paramètres par dé,faut sont définis dans le fichier PARAM et peuvent y être modifiés.
En mode interactif cliquer sur PAR ou enfoncer la touche p. Après modification des paramètres ceux-ci peuvent être sauvés dans le fichier PARAM en cliquant sur WRITE.
Les paramètres par dé,faut d´origine sont définis dans le fichier PARAM0 qui ne doit pas être modifié.



































Animation en play back

Pour créer des vidéos en interaction endogène ne subissant pas les limitations du temps ré,el (temps de calucul poportionnel à la complexité) il suffit d´enregistrer une compression des valeurs des capteurs puis de rejouer (play back) en lisant ces valeurs:
- Cliquer sur AUDIO.js pour stocker les informations du son dans le fichier sensor.sensor.
Options: dil=1.105 dilatation du fichier sensor.sensor.
fft=f capteur audio initialisé à f.
sen=name.sensor nom du fichier de sauvegarde des valeurs du capteur (sensor.sensor par défaut).
I sortie du programma à la fin du traitement.
wri informations audio stocées dans le fichier sensor.sensor.
per=25 période.

Options de lancement

Un caractère

voir raccourcis clavier.
aut_awa=m,s

    m=durée (nombre de minutes) d´une musique (0: jouée une seule fois)
    s=durée (nombre de minutes) d´une séquence
aut_dre=r,s
    r=durée (nombre de minutes) d´un rêve (0: éternel)
    s=durée (nombre de minutes) d´une séquence
men inhibe l´assàciation du bouton droit de la souris avec les menus et permet de traiter les deux boutons d´un joy stick comme EVEIL et REVE.

joy=n
n=0: souris (d&e&cute;fa
n=1,n: joystick 1 boutonut, n=fréquence des appels
n=2: joystick 2 boutonuts.

men: inhibe l´ aux menus par le bouton droite (pour un joystick)

q: inhibe la sortie par la touche q EXI reste actif, on peut aussi sortir par !exit

Autres

b=n n corps.

beg=n d´but des mappes après n images.

c_a=c Sen_Coe_Fft=0,2*c,c,c.

col=c Type_Col=c, Mod_Col=1.

dcp=c plus (c<1) moins (c>1) d´images.

dem démo interactive.

dil=d dilate le fichier sensor.sensor et sauve le résultata dans le même fichier pour un play bac.

E"=n n=dur&eacut.e;e de l´ explication (250 par défaut).

fad=n fad out sur n images. Nb_Fad
ima sauvegarde des images sous sav/I*.jpg à partir du fichier sensor.

inv reve-eveil
eveil-reve par défaut pour DEMO_JOYSTICK boutons gauche-droit.

pow=c Sen_Coe_Pow=0,2*c,c,c.

T=n Type_Traj=n Sem_I=1.

aut Type_Traj=AUT Sem_I=1.
dat Type_Traj=DAT Sem_I=1.
ran Type_Traj=RAN Sem_I=1.
rot Type_Traj=ROT Sem_I=1.
ryt Type_Traj=RYT Sem_I=1.
fly Type_Traj=FLY Sem_I=1.

sav sauvegarde les paramètres dans le fichier sensor lorsque la musique joue.
del_Del_Max0 coefficient de time out pour les messages (1 par défaut).

gri=n grilles de dimension n.

map=n n mappes , ne change plus.

max=n init après n images (0: off par défaut).

ni0=25 période.

sta SELF START<>a>

ima_max=n nombre d´images lues par READ_IMA(). Si le dossier Ima_Dir est trop important n images seront lues al&axute;atoirement à chaque clic sur DREAM ou sur MODIFIER.

imanb=n numéro de la première image sauvée.


sav=../sqv/I.jpg animation en play back à partir du fichier sensor.SENSOR construit par AUDIO.js sauvant les images sous le nom ../sav/I_xxx.jpg.
Mode spécial

spe lit le fichier SPE
spe=SPE1 lit le fichier SPE1
Un tel fichier est de la forme:
im0;I0;
im1;I1;
...
imn;In;

Si la dernière ligne du fichier est per; lecture périodique.
Les instructions Ii seront executées aux images imi.
Nb_Spe={imi}0<=i<n
{memoryi=imi;Ii;}0<=i<n

ran Type_Traj=RAN
dat Type_Traj=DAT
deb mode debuging
ryt Type_Traj=RYT
fly Type_Traj=FLY
rot Type_Traj=ROT
aut Type_Traj=AUT

tes mode test sans sauver les images et avec input

tra=t trajectoire t4

tran=t0,t1 transparence Tr0=t1,Tr1=t1.

tex=Text1 charge le fichier en Text1 Text par défaut).
TEXT.
ted=d d=0 (full screen, by default), d=200 (win_vid)     abscisse des images de Text

tra transp Tr0=.9,Tr1=.4
tra=t0,t1 transp Tr0=t1,Tr1=t1



































Programme

Principe
Principaux paramètres
Search
Expo

Principe

Le réseau Net est complètement connecté sa matrice des poids synaptiques est 2 * luminance(image) - 1.
Les sommets de la grille Sel sont affectés de forces calculées selon Num_S:
1: en fonction des paramètres de sortie du réseau
2: attirés par les sommets de la grille Attach (en mouvement) par des ressots (spring attach).
L´algorithme d´automapping s´applique à 3 grilles Map1,Map2,Map3).
Coe_Spe force rota vol(map).
Cette application est écrite en langage anyflo. Les sources *.func sont dans le dossier env.

Principaux paramètres

Succession des évènements

Aut_xxx durée, Aut_xxx_Cpt compteur,
xxx=Awa éveil durée entre 2 musiques
xxx=Dre durée entre 2 rêves
xxx=Bas éveil durée entre 2 basculements éveil/rêve. Joy= jày
   0 : mouse
   1: joystick 1 bouton
   2: joystick 2 boutons
Max_Joy: fréquence des appels
Cpt_Joy: compteur des appels

Le fichier PARAM

contient les paramètres parsp défaut:
Tempo
nombre de minutes avant l´enchainement du programme suivant (emergent_code.js), si 0 pas d´enchainement (par défaut).
Ni0,Ni1 bornes de Ni2.
Sen_Coe_Fft coefficient de la fft.
Sen_Env enveloppe.
Sen_D_Min correction de Sen_Min.
Sen_Min seuil inférieur de coe fft.
Sen_Max seuil supérieur de coe fft.
Sen_Coe_Mou coefficient de la souris.
Nb_E durée de E_() (explication.
Sem_E -1 pas d´explication).
Size1,Size2 bornes de la taille des mappes.
Bod_Coe_Hair longueur des cheveux.
Sti_Sel raideur de Sel.

tit_dis=T.jpg nom du fichier titre tit_nbi dufée de 1/3 du titre.S
Vis_Sel viscosité de Sel.
Rota rotation des mappes.
Coe_X,Coe_Y déplacement des mappes.
Nb_Fad fad in, titlr, fad out.
Sen_Dil dilatation des aigus.
Coe_ni coefficient de rapidité.
Add_Force_Rota foece rota add.
law loi de mouvement.
    Nb_S2 durée de M2()
    Sem_E -1 yes, 1 no E_()
    Speed_Thorax4=speed rota vol(Thorax4)
    Mod_Col 0: Type_Col variable, 1: Type_Traj constant
   Col Type_Traj RAN random, DAT datas, FLY vole, ROT rotation, RYT rythme.
    Sem_I -1: Type_Traj variable, 1: Type_Traj constant

Autrea paramètres

Variation de Sel
Nb_S nombre de variations
Per=0,1000,c,c coefficient de durée (0 pas de variation)
Num_Per={num,per,0}
    num=numéro de la variaton
    per=durée de la variaton
    Dila=correction de la fft (augmente les aigus) recalculé quand Dila0 change dans [0,25]

Beg=-1, option beg fait Beg=0 variations automatiques au début Beg=0,...,2000 .

Influence de l´environnement sur les corps
Sel_Ver sommets du volume Sel
Nb_Sel_Ver nombre de ces sommets
Sel_Bod numéros des paties du corps influencées
Coe_Sel_1 coeffifients d´influence pour chaque partie
Coe_Sel coeffifient d´influence global

Dem Dem=-1, option dem fait Dem=1, raccourcis clavier D fait Dem=-1.
D12 coefficient de (dist vertex vol(Sel))

Net,Hide,Dim_Motif,Dim_Law
Nxy,Sel,Force,Sti,Vis,Vertex
Nb_Map,Map: mappes
Dem: démo
Ni1,Im mapping de réseau
Dem démo, augmentation de la complexité sur 2000 images.
Amp2,R2,Im2 vaiiation S2.
Variations des mappes: Num_Per={num,per}
Coe_For_Rot force rota map
Vis_For_Rot coe viscosity map
R_M,G_M,B_M color maps
Law1,Law2 law speed rota vol(Belly)
Type_Law Type_Law_s=acc,dec,pend,NIL Type_Law=pend: loi de mouvement.

Nb_Type_Col nombre de types de couleurs
Type_Col numéro du type

Tr0,Tr1 transparence des peaux fonction de Sen_Nb_Gre dns [Tr1,Tr0]. Speed_Pel vitesse de Pelvis, influence spine et fem_lib dans traj_roty_rota(pel,spine,head,ni,sp,ry) du fichier traj_bod.func par sp=Sen_Dif_Spe*Balance[2]*Speed_Pel{i};.
Balance rétablissement de l'équilibre par rotation du torse.
Center centrage.
Coe coefficient de mouvement.

Coe_Speed_Vol accentue les force rota vol(f) en fonction de abs(Sen_Dif_Spe) et dans le sens de speed rota vol(f) (fonction force_rota_add() du fichier traj_bod.unc).

Speed_Vol={f,s,0}, s=speed rota vol(f) avec f=femur_g,tibia_g,humerus_g,radius_g,femur_d,tibia_d,humerus_d,radius_d,thorax4.

Cor_Bal correction du déséquilibre = point d´ancrage positionné lors d´un nouveau contact avec le sol.

contre-mouvement des bras /* Arms */ dans le fichier traj_bod.func (fonction traj_bod()).
Lock=f,v si L est actif les corps > 1 sont mus par le corps 1.

Search

dans net.func:
Coe_Rotx coefficient d'animation du torse
func set_Num_Per Num_Per={num,per}
func func_traj_map animation des mappes.
func func_SEL_STA force add abs vol(pel): rebond des corps.
func traj_sep spring rota vol(Sel): dynamique de Sel.
=collision collision avec le sol.

dans la fonction traj_sel()
spring vol(Sel)=sv,v; gestion des mouvements de Sel.

dans traj_bod.func:
w=collision vol(pel) gestion des collisions.

Paramètres

Réglage de l'acute;audio
Taille des mappes
Réglage de Sel
Corps
Trajectoires

Enfoncer la touche p pour faire apparaitre les paramètres ou cliquer sur PAR.

Réglage de l'acute;audio

Enfoncer la touche . (point) pour faire apparaitre le mini menu au bas d l´écran, modifier fft, ou enfoncer la touche , (virgule) pour diminuer, enfoncer la touche ; (point virgule) pour augmenterer.
On peut aussi changer Sen_Coe_Fft dans le fixhier PARAM.

Taille des mappes

Cliquer sur IMAGE et modifier size1 et size2 (minimum et maximum des tailles), lum luminance.

Taille de Sel

Cliquer sur COE et modifier coe et visc (raideur et viscosité)de Sel.

Corps

Modifier Force et visc (force et viscosité) des mouvements. Cliquer sur BODY et modifier les é,chelles:
nb nombre de corps
Up,Down rsbmnd
coe bod torsion du thorax
t0,t1,t transparence
rotxroty

Trajectoires

Type_Traj type
Thr_Tral seuil de choix FLY et ROT
Period_Traj période de changement.
Coe_Traj barycentre de traj force rota (1) et traj rotz (0).

Expo

Sem_jnv (option inv)
AW_DR=1: eveil-reve (défaut)
DR_AW=-1: reve-eveil

Dysfonctionnements

Général
Disparition de la souris
Autres

Général

Enfoncer la touche J réinitialise tous les paramètres.
Pour réinitialiser le dernier corps:
0 pour le supprimer
b pour le créer.

Disparition de la souris

Snfoncer la touche _video.exeD.

Autres

Utiliqa Anyflo se relance automatiquement en cas de bug, le tuer puis cliquer sur anyflo_video.exec;
Taper read func "dreaming_machine.htm>"
Pour la souris taper MOUSE().
Pour le joy stick taper JOYSTICK()
Pour un ttetst rapide taper TEST()
Puis analyser les messages dacute;erreurs.