Tutorial for composers, Flute

Add-on lecjo home page

Audio example 16. works only with firefox 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:[]};
var q={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 r={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 s={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 t={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 val21 = [1, 220, 169, 0, 1, 1, 130, 0, 0, 30,
169, 2, 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, 12, 1, 0, 12];
//forme generale d'equilibre
var val22 = [1, 220, 169, 0, 1, 3, 130, 0, 0, 30,
169, 2, 10, 3, 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, 11, 1, 0, 12];
//forme generale d'equilibre
var val23 = [1, 220, 169, 0, 1, 3, 130, 0, 0, 30,
169, 2, 10, 3, 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, 10, 1, 0, 12];
//forme generale d'equilibre
var val24 = [1, 220, 169, 0, 1, 1, 130, -5, 250, 30,
169, 2, 10, 1, 129, -5, 250, 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, 30, 1, 0, 12];
//forme generale d'equilibre
var val25 = [1, 220, 169, 0, 1, 1, 130, -25, 250, 30,
169, 2, 10, 1, 129, -25, 250, 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, 10, 1, 0, 12];
//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];
//duration front wave
var val2 = [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,
 5, 5, 5, 5, 4, 4, 4, 4, 3, 3,
 5, 5, 5, 5, 4, 4, 4, 4, 3, 3];
//mode 4 duration variation amplitude front wave
var val9 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 9, 9,
1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 9, 9,
1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 9, 9,
1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 9, 9,
1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 9, 9];
//construction m
for(var b1= 0; b1 < 48; b1++)
{
for(var b2= 0; b2 < 2; b2++)
{
m[b1][b2]=val21[b2];
}
for(var b3= 3; b3 < 10; b3++)
{
m[b1][b3]=val21[b3];
}
for(var b4= 11; b4 < 75; b4++)
{
m[b1][b4]=val21[b4];
}
m[b1][2]=val[b1];
m[b1][3]=val9[b1];
m[b1][4]=val[b1];
m[b1][10]= val[b1];
m[b1][19]= val[b1];
m[b1][71]= (val8[b1]);
}
//construction n
for(var b1= 0; b1 < 48; b1++)
{
for(var b2= 0; b2 < 2; b2++)
{
n[b1][b2]=val21[b2];
}
for(var b3= 3; b3 < 10; b3++)
{
n[b1][b3]=val21[b3];
}
for(var b4= 11; b4 < 75; b4++)
{
n[b1][b4]=val21[b4];
}
n[b1][2]=val[b1];
n[b1][3]=val9[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]=val21[b2];
}
for(var b3= 3; b3 < 10; b3++)
{
o[b1][b3]=val21[b3];
}
for(var b4= 11; b4 < 75; b4++)
{
o[b1][b4]=val21[b4];
}
o[b1][2]=val[b1];
o[b1][3]=val9[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]=val21[b2];
}
for(var b3= 3; b3 < 10; b3++)
{
p[b1][b3]=val21[b3];
}
for(var b4= 11; b4 < 75; b4++)
{
p[b1][b4]=val21[b4];
}
p[b1][2]=val[b1];
p[b1][3]=val9[b1];
p[b1][10]= val[b1];
p[b1][19]= val[b1];
//p[b1][71]= (val5[b1])*1.2;
}
//construction q
for(var b1= 0; b1 < 48; b1++)
{
for(var b2= 0; b2 < 2; b2++)
{
q[b1][b2]=val22[b2];
}
for(var b3= 3; b3 < 10; b3++)
{
q[b1][b3]=val22[b3];
}
for(var b4= 11; b4 < 75; b4++)
{
q[b1][b4]=val22[b4];
}
q[b1][2]=val[b1];
q[b1][3]=val9[b1];
q[b1][4]=val[b1];
q[b1][10]= val[b1];
q[b1][19]= val[b1];
//q[b1][71]= (val8[b1]);
}
//construction r
for(var b1= 0; b1 < 48; b1++)
{
for(var b2= 0; b2 < 2; b2++)
{
r[b1][b2]=val23[b2];
}
for(var b3= 3; b3 < 10; b3++)
{
r[b1][b3]=val23[b3];
}
for(var b4= 11; b4 < 75; b4++)
{
r[b1][b4]=val23[b4];
}
r[b1][2]=val[b1];
r[b1][3]=val9[b1];
r[b1][4]=val[b1];
r[b1][10]= val[b1];
r[b1][19]= val[b1];
//r[b1][71]= (val8[b1]);
}

//constsuction s
for(var b1= 0; b1 < 48; b1++)
{
for(var b2= 0; b2 < 2; b2++)
{
s[b1][b2]=val24[b2];
}
for(var b3= 3; b3 < 10; b3++)
{
s[b1][b3]=val24[b3];
}
for(var b4= 11; b4 < 75; b4++)
{
s[b1][b4]=val24[b4];
}
s[b1][2]=val[b1];
s[b1][3]=val9[b1];
s[b1][4]=val[b1];
s[b1][10]= val[b1];
s[b1][19]= val[b1];
//s[b1][71]= (val8[b1]);
}
//constsuction t
for(var b1= 0; b1 < 48; b1++)
{
for(var b2= 0; b2 < 2; b2++)
{
t[b1][b2]=val25[b2];
}
for(var b3= 3; b3 < 10; b3++)
{
t[b1][b3]=val25[b3];
}
for(var b4= 11; b4 < 75; b4++)
{
t[b1][b4]=val25[b4];
}
t[b1][2]=val[b1];
t[b1][3]=val9[b1];
t[b1][4]=val[b1];
t[b1][10]= val[b1];
t[b1][19]= val[b1];
//s[b1][71]= (val8[b1]);
}

var don=[
n[24], n[24], n[24], n[24], n[26], n[26], n[24], n[24], n[27], n[24], n[26], n[27] //pipo
];

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

for(var ui= 0; ui < 12; 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();
}
}
Download dna16.js