mémoire
Principe:
Des objets de type mémoire peuvent être manipulés par leur
identificateur.
memory
memory(id)
Retourne le contenu de la mémoire d´identificateur id.
memory(id)=v
Affecte v à la mémoire id.
v peut être:
1) un vecteur de floats, exemple:
memory(1)=[1,6];
Crée la mémoire 1 de 6 points 1, 2, 3, 4, 5 et 6.
2) une chaine de caractères, exemple:
memory(2)="A BC DEF";
Crée la mémoire 2 de 3 points "A", "BC" et "DEF".
3) un hybride, exemple:
memory("M")=(memory(2)),7;
Crée la mémoire M de 2 points:
"A BC DEF".
et 7.0
memory(id)ini(np,dimp)
Crée la mémoire id de np vecteurs nuls de dimension dimp
(dimp=1 par défaut).
Options:
alea(c1,c2): np valeurs reproductibles entre c1 et c2.
coe(c): coefficient multiplicateur c.
ini(np,dimp,ns): ns sous mémoires de la même taille.
alea(c1,c2): np valeurs non reproductibles entre c1 et c2.
sin(f,a,p): for(i=0,np-1)poi[i+1]memory(id)=a*sin(f*i+p);
sin(f,a,p)rand(r1,r2,dn): avec aléatoire dans (r1,r2), dn = amplitude de la variation.
sin(f1,a1,p1,f2,a2,p2,...,fn,an,pn):
for(i=0,np-1)poi[i+1]memory(id)=sum(aj*sin(fj+pj))/n0<=j<n;
sin(f1,a1,p1,f2,a2,p2,...,fn,an,pn) interpol:
(fréquences,amplitudes,phases) interpolées sur
(f1,a1,p1,f2,a2,p2,...,fn,an,pn).
var(v1,v2,...): comme memory(id)=v1,v2,....
var(v): comme memory(id)=v,v,....
Exemples:
memory(1)ini(3,4);edit poi memory(1);
imprime:
0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0
poi(2)memory(1)=1,2;edit poi memory(1);
imprime:
0.0 0.0 0.0 0.0
1.0 2.0 2.0 2.0
0.0 0.0 0.0 0.0
poi(2)memory(1)=[1,5];edit poi memory(1);
imprime:
0.0 0.0 0.0 0.0
1.0 2.0 3.0 4.0
0.0 0.0 0.0 0.0
$poi(2)memory(1);
imprime:
1.0 2.0 3.0 4.0
memory(1)ini(6,2);$memory(1)
imprime:
1: 0.000000 0.000000
2: 0.000000 0.000000
3: 0.000000 0.000000
4: 0.000000 0.000000
5: 0.000000 0.000000
6: 0.000000 0.000000
for(i=1,6)poi(i)memory(1)=i,i*i;$memory(1)
imprime:
1: 1.000000 1.000000
2: 2.000000 4.000000
3: 3.000000 9.000000
4: 4.000000 16.000000
5: 5.000000 25.000000
6: 6.000000 36.000000
memory(1)ini(4,3,2);
poi[1,4]memory(1)memory(1)=[1,12];
poi[1,4]memory(1)memory(2)=[-1,-12];
edit(memory(1));
Imprime:
0: 1 2 3
1: 4 5 6
2: 7 8 9
3: 10 11 12
4: -1 -2 -3
5: -4 -5 -6
6: -7 -8 -9
7: -10 -11 -12
memory(1)ini(6)var(1,2,3);$memory(1);
imprime:
1,2,3,1,2,3
memory audio
memory(id)audio
Construit la mémoire id de poi = audio var.
ini audio aura du être fait.
Si la mémoire n´existe pas elle est crée.
Si la mémoire existe elle est modifiée.
memory(id) retourne alors le signal audio mémorisé.
memory CG
memory(id)CG
Retourne le CG des np vecteurs de dimension dimp de la mémoire id,
avec np=NP memory(id) and dimp=dim memory(id).
Options:
CG(n1,n2,...) vecteurs numéros n1,n2,...
memory clean
memory(id1,id2)clean
Seuillage: memory(id2)=(memory(id1)<=average(memory(1)) ? 0 : 1
memory envelope
memory(id)envelope(duree)
Retourne l´enveloppe du signal contenu dans la mémoire id. Le
paramètre duree (1 par défaut) permet de contrôler la fréquence d´échantillonnage.
propr memory(id)
Retourne la propriété propr de la mémoire id.
propr memory(id)=v
Affecte cette propriété.
Exemples:
NP memory(id);
Retourne le nombre de vecteurs de la mémoire id (ne peut pas être modifié).
dim memory(id);
Retourne la dimension des vecteurs de la mémoire id (ne peut pas être modifié).
poi(p)memory(id);
Retourne le vecteur numéro p (entre 1 et NP memory(id)) de la mémoire id.
poi(p)memory(id)=v;
Modifie ce vecteur.
memory period
period
period_debug
period_envelope
memory(id)period [min(m)]
Retourne la période du signal contenu dans la mémoire id.
m = variation minimum (0 par défaut).
memory(id)period debug
Retourne 0,0,...,0,1,0,...,0,1,0,...., les maximums étant marqués 1.
Exemple d´utilisation, voir la fonction demo1_memory.func.
memory(id)period envelope(e) [min(m)]
Retourne la période du signal contenu dans
l´enveloppe à l´ordre e, et avec une approxiamtion m, de la mémoire id.
memory puls
puls
puls_poi
puls_var
memory puls(n,c)poi(p)
Retourne la fréquence de n valeurs cycliquement modifiées par p,
pente d´attaque c*moy (0.15 par défaut).
memory puls(n)var
Retourne le buffer des n valeurs.
memory puls(n)NP
Retourne la liste des attaques.
memory puls(n,c)poi(p)adjust
Retourne la fréquence de n valeurs cycliquement modifiées par p
(ajustement automatique à la fréquence la plus proche).
memory puls(n,c)var
Retourne les n pulsations.
memory roll
memory(id)roll=v
Décale la mémoire id à droite et affecte la valeur v au premier vecteur.
memory line
memory(id)line(x1,y1,z1,x2,y2,z2,...)
Construit l´objet type memory, d´identificateur id
et de propriéyé poi (x1,y1,z1,x2,y2,z2,...).
Options:
dup(n): duplique n fois la ligne.
line(x1,x2,...)format(1): poi(x1,0,0, x2,1,0, ...).
line(x1,y1,x2,y2,...)format(2): poi(x1,y1,0, x2,y2,0, ...).
adjust(n): construit n les points selon format.
ext(e,c,f): avec extension.
memory motif
memory(id)motif ini(dim,nb)
Construit l´objet type memory, d´identificateur id,
et de nb vecteurs de dimension dim.
memory(id)motif(m)adjust
Intégre le motif m.
memory(id)motif(m)close(1)
Retourne le motif le plus proche de m.
memory(id)motif(m)close(0)
Retourne le motif le plus différent de m.
Remarque:
Quand on présente plusieurs motifs à l´objet memory id,
celui-ci les classifie par proximité
memory obj
memory(id1) obj(id2)
Retourne le contenu de la mémoire id1 de l´objet id2.
memory(id1) object(id2)=expr
Donne à la memory id1 de l´objet id2 la valeur expr.
Remarques: utile pour stocker la base de connaissance d´un objet muni d´un
comportement (voir local)
memory(id1)ini(np,dimp)object(id2)
Stocke dans la mémoire id1 de l´objet id2 np vecteurs nuls de dimensions dimp.
/*??? A FAIRE ???*/
memory(val)min
Retournee la mémoire la plus proche de val.
memory(val)min number
Retournee le numéro de la mémoire la plus proche de val.
memory min=val
Affecte la mémoire la plus proche de val.
memory(val)max
Retourne la mémoire la plus loin de val.
memory(val)max number
Retournee le numéro de la mémoire la plus loin de val.
memory max=val
Affecte la mémoire la plus loin de val.
Voir aussi: