mardi, décembre 27, 2016

Des équilibres entre les dimensions acoustiques, ou comment jouer avec les équilibres des lois physiques pour créer un echo.


Dans l’Addon Lecjo de firefox la valeur donne71 indique le nombre de répétions de la forme acoustique générée.

Quand nous créons une forme acoustique type piano, ou guitare, ou encore tambour, nous créons un marteau acoustique. Il existe plusieurs techniques pour créer un marteau acoustique, la plus simple étant de partir d’une amplitude forte pour rejointre une amplitude prèt de l’état de repos. Une forme de triangle, dont la base est orientée vers l’origine. Donne71 en fonction de la valeur de variation d’amplitude, va fixer l’amplitude finale.

En ce mouvement de pressions, nous avons trois dimensions prédominantes, chacune aux lois différentes. Ces trois dimensions vont être pilotées avec Donne71, la variation, et plus difficile à comprendre, la durée des fronts. Sachant que cette forme et aussi soumise à deux autres dimensions en équilibre qui sont l’inertie (le temps pour pouvoir capter le son), et le surf (qui mixe les sons).

En exemple d’application créons un écho.
Pour créer un écho, je génère une forme acoustique type piano. Je reprends 4 fois la même forme. Je laisse dans la pemière forme des valeurs élevées de donne71 de manière à aller vers un son de piano, je reprends la même forme trois fois avec des valeurs donne71 plus courtes donc des sons tendaant vers un son d’orgue.
Pour entendre l’exemple, il suffit d’entrer ces valeurs dans l’Addon lecjo :

 //preparation
var m={0:[],1:[],2:[],3:[],4:[],5:[],6:[],7:[],8:[],9:[],10:[],11:[],12:[],13:[],14:[],15:[],16:[],17:[]
,18:[],19:[],20:[],21:[],22:[],23:[],24:[],25:[],26:[],27:[],28:[],29:[],30:[],31:[],32:[]
,33:[],34:[],35:[],36:[],37:[],38:[],39:[],40:[],41:[],42:[],43:[],44:[],45:[],46:[],47:[]};
var n={0:[],1:[],2:[],3:[],4:[],5:[],6:[],7:[],8:[],9:[],10:[],11:[],12:[],13:[],14:[],15:[],16:[],17:[]
,18:[],19:[],20:[],21:[],22:[],23:[],24:[],25:[],26:[],27:[],28:[],29:[],30:[],31:[],32:[]
,33:[],34:[],35:[],36:[],37:[],38:[],39:[],40:[],41:[],42:[],43:[],44:[],45:[],46:[],47:[]};
var o={0:[],1:[],2:[],3:[],4:[],5:[],6:[],7:[],8:[],9:[],10:[],11:[],12:[],13:[],14:[],15:[],16:[],17:[]
,18:[],19:[],20:[],21:[],22:[],23:[],24:[],25:[],26:[],27:[],28:[],29:[],30:[],31:[],32:[]
,33:[],34:[],35:[],36:[],37:[],38:[],39:[],40:[],41:[],42:[],43:[],44:[],45:[],46:[],47:[]};
var p={0:[],1:[],2:[],3:[],4:[],5:[],6:[],7:[],8:[],9:[],10:[],11:[],12:[],13:[],14:[],15:[],16:[],17:[]
,18:[],19:[],20:[],21:[],22:[],23:[],24:[],25:[],26:[],27:[],28:[],29:[],30:[],31:[],32:[]
,33:[],34:[],35:[],36:[],37:[],38:[],39:[],40:[],41:[],42:[],43:[],44:[],45:[],46:[],47:[]};
//forme generale d'equilibre
var val1 = [1, 220, 169, 0, 1, 1, 130, 0, 0, 30,
169, 3, 10, 1, 129, 0, 0, 0, 220, 159,
0, 0, 1, 129, 0, 0, 0, 130, 159, 0,
0, 0, 0, 0, 0, 0, 160, 80, 0, 0,
0, 0, 0, 0, 0, 90, 60, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 17, 1, 0, 48];
//duration front wave
var val = [169, 159, 150, 142, 134, 126, 119, 113, 106, 100, 95, 89,
84, 80, 75, 71, 67, 63, 60, 56, 53, 50, 47, 45,
42, 40, 38, 35, 33, 32, 30, 28, 27, 25, 24, 22,
21, 20, 19, 18, 17, 16, 15, 14, 13, 13, 12, 11];
//mode 1 duration variation amplitude front wave
var val5 = [17, 18, 19, 20, 21, 23, 24, 25, 27, 29, 30, 32,
34, 36, 38, 40, 44, 46, 48, 51, 54, 57, 61, 64,
68, 72, 76, 82, 84, 90, 96, 103, 106, 115, 120, 131];
//mode 2 duration variation amplitude front wave
var val7 = [17, 18, 19, 20, 21, 23, 24, 25, 27, 29, 30, 32,
17, 18, 19, 20, 21, 23, 24, 25, 27, 29, 30, 32,
17, 18, 19, 20, 21, 23, 24, 25, 27, 29, 30, 32];
//mode 3 duration variation amplitude front wave
var val8 = [17, 16, 15, 14, 13, 13, 12, 11, 11, 10,
 10, 9, 8, 8, 8, 7, 7, 6, 6, 6,
 5, 5, 5, 5, 4, 4, 4, 4, 3, 3,
 3, 3, 3, 3, 2, 2, 2, 2, 2, 2,
 2, 2, 2, 1, 1, 1, 1, 1];
//mode 4 duration variation amplitude front wave
var val9 = [17, 16, 15, 14, 13, 13, 12, 11, 11, 10,
 10, 9, 8, 8, 8, 7, 7, 6, 6, 6,
 5, 5, 5, 5, 4, 4, 4, 4, 3, 3,
 3, 3, 3, 3, 2, 2, 2, 2, 2, 2,
 2, 2, 2, 1, 1, 1, 1, 1];
//construction m
for(var b1= 0; b1 < 48; b1++)
{
for(var b2= 0; b2 < 2; b2++)
{
m[b1][b2]=val1[b2];
}
for(var b3= 3; b3 < 10; b3++)
{
m[b1][b3]=val1[b3];
}
for(var b4= 11; b4 < 75; b4++)
{
m[b1][b4]=val1[b4];
}
m[b1][2]=val[b1];
m[b1][10]= val[b1];
m[b1][19]= val[b1];
m[b1][71]= (val5[b1]);
}
//construction n
for(var b1= 0; b1 < 48; b1++)
{
for(var b2= 0; b2 < 2; b2++)
{
n[b1][b2]=val1[b2];
}
for(var b3= 3; b3 < 10; b3++)
{
n[b1][b3]=val1[b3];
}
for(var b4= 11; b4 < 75; b4++)
{
n[b1][b4]=val1[b4];
}
n[b1][2]=val[b1];
n[b1][10]= val[b1];
n[b1][19]= val[b1];
n[b1][71]= (val7[b1]);
}

//construction o
for(var b1= 0; b1 < 48; b1++)
{
for(var b2= 0; b2 < 2; b2++)
{
o[b1][b2]=val1[b2];[1, 220, 169, 0, 1, 1, 130, 0, 0, 30,
169, 3, 10, 1, 129, 0, 0, 0, 220, 159,
0, 0, 1, 129, 0, 0, 0, 130, 159, 0,
0, 0, 0, 0, 0, 0, 160, 80, 0, 0,
0, 0, 0, 0, 0, 90, 60, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 17, 1, 0, 12];
}
for(var b3= 3; b3 < 10; b3++)
{
o[b1][b3]=val1[b3];
}
for(var b4= 11; b4 < 75; b4++)
{
o[b1][b4]=val1[b4];
}
o[b1][2]=val[b1];
o[b1][10]= val[b1];
o[b1][19]= val[b1];
o[b1][71]= (val8[b1]);
}

//cpnstructipn p
for(var b1= 0; b1 < 48; b1++)
{
for(var b2= 0; b2 < 2; b2++)
{
p[b1][b2]=val1[b2];[1, 220, 169, 0, 1, 1, 130, 0, 0, 30,
169, 3, 10, 1, 129, 0, 0, 0, 220, 159,
0, 0, 1, 129, 0, 0, 0, 130, 159, 0,
0, 0, 0, 0, 0, 0, 160, 80, 0, 0,
0, 0, 0, 0, 0, 90, 60, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 17, 1, 0, 48];
}
for(var b3= 3; b3 < 10; b3++)
{
p[b1][b3]=val1[b3];
}
for(var b4= 11; b4 < 75; b4++)
{
p[b1][b4]=val1[b4];
}
p[b1][2]=val[b1];
p[b1][10]= val[b1];
p[b1][19]= val[b1];
p[b1][71]= (val9[b1]);
}

var don = {
  1: m[0], 2: m[0], 3: m[0], 4: m[0], 5: m[2], 6: m[2], 7: m[0], 8: m[0], 9: m[3], 10: m[0], 11: m[2], 12: m[3]
 ,13: m[12], 14: m[12], 15: m[12], 16: m[12], 17: m[14], 18: m[14], 19: m[12], 20: m[12], 21: m[15], 22: m[12], 23: m[14], 24: m[15]
 ,25: n[0], 26: n[0], 27: n[0], 28: n[0], 29: n[2], 30: n[2], 31: n[0], 32: n[0], 33: n[3], 34: n[0], 35: n[2], 36: n[3]
 ,37: n[12], 38: n[12], 39: n[12], 40: n[12], 41: n[14], 42: n[14], 43: n[12], 44: n[12], 45: n[15], 46: n[12], 47: n[14], 48: n[15]
 ,49: o[0], 50: o[0], 51: o[0], 52: o[0], 53: o[2], 54: o[2], 55: o[0], 56: o[0], 57: o[3], 58: o[0], 59: o[2], 60: o[3]
 ,61: o[12], 62: o[12], 63: o[12], 64: o[12], 65: o[14], 66: o[14], 67: o[12], 68: o[12], 69: o[15], 70: o[12], 71: o[14], 72: o[15]
 ,73: p[0], 74: p[0], 75: p[0], 76: p[0], 77: p[2], 78: p[2], 79: p[0], 80: p[0], 81: p[3], 82: p[0], 83: p[2], 84: p[3]
 ,85: p[12], 86: p[12], 87: p[12], 88: p[12], 89: p[14], 90: p[14], 91: p[12], 92: p[12], 93: p[15], 94: p[12], 95: p[14], 96: p[15]
}

var total =new Array;
var total1 =new Array;
for(var uiu= 1; uiu < 49; uiu++)
{
total[uiu -1] = "don"+[uiu]+"n";
total1[uiu -1]=don[uiu];
}

for(var ui= 0; ui < 48; ui++)
{
for(var i= 0; i < 75; i++)
{
var nouveauinput;
function ajouteElemen() {
var body   = document.body || document.getElementsByTagName('body')[0],
nouveauinput  =  document.createElement("input");
nouveauinput.setAttribute("type", "number");
nouveauinput.setAttribute("id", total[ui]+i);
nouveauinput.setAttribute("value", total1[ui][i]);
nouveauinput.setAttribute("style", "display: none;");
body.insertBefore(nouveauinput,body.childNodes[0]);

ajouteElemen();
}
}







Cinq minutes de rire pour un adulte, durent une éternité pour un enfant.

Aucun commentaire: