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.

dimanche, décembre 25, 2016

Conte et légende celtique

En des temps anciens, des hommes du désert ont déraciné nos chênes, pour reproduire leur environnement. 
De la poussière de volcan, et le noir nauséabond des entrailles de la terre avaient remplacé nos forêts. Il y avait même des gens qui vivaient sous terre parce qu'ils pensaient que c'était mieux pour se déplacer.
Tous les savoir issus du feuillage, de la vitesse du vent qui mariait les sons et les couleurs avaient été perdu. Plus d'arc en ciel à volonté ! Plus personne n'avait les mots pour pouvoir construire la raison. Il y avait même des vieux comme moi, qui enseignaient aux plus jeunes.
De cette errance est né un hivers, comme si la terre pour nous punir avait décider de renouveler ses enfants. Un hivers tellement froid et tellement long, qu'il n'y avait plus que montagne de glace Des montagnes de glace pour tout broyer et préparer notre venue. N'oubliez jamais de jouer avec la lumière et les sons afin de ne pas perdre la raison.

Graver dans la pierre comme si une langue évoluée pouvait être éternelle, les contes ne sont plus que les fantômes d'impressions portées par le vent. Il ne reste même pas la poussière, ou le souvenir de la poussière de ces contes. Mais peut-être que les Addon lecjoa et lecjo pourront permettre de jouer à nouveau avec la lumière et les sons, même si un jour il n'y avait plus de chêne. C'est toujours amusant d'arriver à lire les rayures sur les anciennes pierres au bord du chemin.

video



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

samedi, décembre 24, 2016

PianoBaul déploiement addon lecjo


Ajouter un x à l'adresse internet des piano virtuel de PianoBaul pour faire apparaître la version mobile.
PianoBaul a été mis à jour avec les avancées de l'Addon Lecjo "version": "2.0.2.4"

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

lundi, décembre 19, 2016

lecjo version 2 0 2 3



Seul les coqs arrivent à chanter sur montpellier

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

dimanche, décembre 11, 2016

Tutoriel sur comment manipuler la force dans lecjo


 Nous pouvons changer la force d'un son dans lecjo de plusieurs manières.
Le tutoriel montre comment augmenter la force dans lecjo par la répétition.

Ici nous changeons la valeur de donne3 dans dna.js, qui indique combien de fois le front est répété.

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

vendredi, décembre 09, 2016

Tutoriel compositeur symphonie


La vidéo montre un exemple de construction générant les symphonies

Pour pouvoir créer il faut installer l'addon lecjo, ( c'est un plugin audio).
Puis créer un fichier finissant par .js de la forme indiqué dans l'exemple.
Enfin il faut mettre un lien dans vos pages HTML vers ce fichier .js pour lancer automatiquement la génération de la musique.

https://addons.mozilla.org/en-US/firefox/addon/lecjo/



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

mardi, décembre 06, 2016

Exemple de musique générée avec lecjo


En ajoutant quelques valeurs numériques à nos page web, l'adddon lecjo permet de générer nos compositions musicales
Ici démonstration en ajoutant une variation de durée à nos marteaux acoustiques
Tutoriel vidéo de démonstration
https://addons.mozilla.org/en-US/firefox/addon/lecjo/

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