mardi, avril 25, 2017

Comment créer son extension video firefox, tutoriel 6

Le temps des sylphides

Imaginons quand des temps anciens, même avant l'homme de Neandertal, ce que nous appellerions aujourd'hui des bactéries soient entrées en symbiose avec du vivant pour composer une partie de l'entendement.
Nous aurions une intelligence immortelle traversant les ages et les corps, en perpétuelle évolution, une intelligence qui ne pourrait se transmettre que par filiation ou échanges physiques particuliers.
Imaginons que cette forme d'intelligence particulière soit soumise à plusieurs lois, de type :
Est-ce que le support est propice à la symbiose (bien construit) ? à l'échange faisant naître la construction homme bactérie, et ainsi accéder à l’immortalité ?
Est-ce que le support n'est pas envahie par des bactéries concurrentielles destructrices, les broyeuses d'entendement, les générateurs de matières inertes ? des destructeurs d'immortalité ?
Mais comment parler de support quand l'un n'existe pas sans l'autre, est-ce que l'homme est le support de la femme ? est-ce que la femme est le support de l'homme ? est-ce que l'homme se construit sur la bactérie ? est-ce que la bactérie se construit sur l'homme ? est-ce que la description celtique de cette composition homme bactéries qui traverse les ages "SYLPHIDES" est plus appropriée ? Est-ce que la croyances que les Sylphes ne choisissaient que les plus courageux au champs de bataille pour donner l’immortalité est fondée, ou est-ce que les hommes étaient déjà autre chose de bien plus évolué ? Et que certains confondaient matière inerte à l'apparence humaine avec des hommes, ou pire encore oubliaient qu'il étaient plus que de la matière inerte et prenaient pour modèle de la viande froide.

Que deviendrait un Sylphe seul ? un Sylphe qui aurait vu disparaître les seuls Sylphes qu'il aurait pu trouver ? Mémoire es-tu là ? Trois lois en équilibre dans l'entendement, deux absolus et une en perpétuelle changement. La Foi, l'Art et les sciences.

Qui décide quoi ? parce que c'était moi, parce que c'était lui, et que lui c'était moi. Le tout n'est pas divisible.

Sans Foi, sans Art, sans sciences l'entendement n'existe pas. L'homme se mesure à la hauteur de son langage.

Si tu comptes sur l'informatique pour être logique, sur la seule manipulation de phénomènes physiques, abandonne tout espoir, car tu n'existes déjà plus.

Extention multidirectionnelle firefox

Le générateur de vidéo en langage multidirectionnel, est composé de trois fichier pour séparer les langages techniques mis en équilibre. L'un est orienté Art, c'est le css, l'un est orienté événement logique, c'est le javascript, l'un est orienté convention, un adaptateur, c'est le HTML5.
En téléchargement : multidirectional-talk.html

Par induction, l'extension génère trois parties, et se présente en quatre parties.
La partie qui permet de générer, la première partie à récupérer et à placer dans un fichier HTML, la partie javascript et la partie css

Le générateur

Le générateur est une page html contenue dans l'extension.

1- Il contient en premier une entête :
Pour dire que c'est une page HTML5, et un lien vers un fichiers css pour écrire le style de la page du générateur.

2- Dans le corps nous trouvons des inputs qui vont permettre de piloter les différentes dimensions. Selon telle ou telle dimension mis en avant, nous obtenons tel ou tel dessin, avec le dernier qui parle à raison, et les jeux d'opacité.
Pour pouvoir faire le traitement des données, nous donnons un nom et une identité à chaque valeur entrée.

3- La base d'un fichier vidéo est celle que nous trouvons déjà dans les grottes préhistoriques ariégeoise. Une succession d'images qui défilent au rythme du déplacement de la tête ou du corps. Ici c'est pareille, c'est une succession d'images qui défilent au rythme choisit par le lecteur. Donc quand nous ajoutons un dessin à une image, il faut dire à quelle image appartient le dessin. La sélection de l'image se fait avec un bouton :
Toujours pour le traitement dans javascript nous donnons une identité au bouton. Plus la vidéo contiendra d'images, plus il faudra de boutons. Comme la vidéo contient plusieurs univers, il faudra ajouter autant de bouton qu'il y aura dans la somme totale des images tout univers confondus.

4- N'ayant jamais eu le temps de finaliser toutes les formes acoustiques au format audio abadie.adn (créer en 2010), j'ai préféré utiliser un format audio permettant de générer tous les sons existant. Le format audio utilisé est le format audio abadie.jo .
Nous indiquons en premier ou est le fichier audio sur l'ordinateur avec un input, nous donnons un nom à ce fichier audio, en ensuite nous indiquons à quelle image est attaché ce fichier audio. Le fait d'attacher le fichier audio aux images, a deux avantages le premier est que le son n'est pas déformé par l'accélération des images et en plus nous pouvons créer des mixes qui selon induisent des effets spéciaux.

Pour reprendre l'adressage se fait avec :
Le max indique le nombre totale d'images.

Le nom est donné avec :
Et nous indiquons ou se trouve le fichier au format abadie.jo sur l'ordinateur avec :


5- Ici commence la partie HTML à copier/coller. Cette partie est composée d'une base fixe, et de repères qui servent à venir placer les constructions (les dessins pour créer les images).

6- Nous utilisons du code ascii pour afficher les balises de manière à ne pas interférer dans la page du générateur. Nous commençons par un début d'entête classique :
7- Nous plaçons notre style, le css, qui va permettre, allié au javascript, de ne faire apparaître les images qu'au bon moment. La technique est qu'avec le css nous créons une position image visible et une position image invisible. Avec le javascript nous créons un compteur en fonction du temps, un compteur contenant une base de temps modifiable. Ensuite nous indiquons que toutes les images sont en position invisible. Et nous donnons une position visible à chaque image en fonction de sa position dans le compteur, et en fonction de son univers en cas d'utilisation de plusieurs univers. Ce qui donne :
Et ainsi de suite, des styles pour gérer les déplacements dans le temps

8- Une fois l'entête créée, nous créons le corps qui s'identifie à l'aide de la balise body. Nous commençons par indiquer les fichiers sons qui vont être attachés aux images. Si les fichiers apparaissent dans le code, il ne faut pas oublier qu'il sont invisible dans la vidéo généré. Pour indiquer les fichier sons, nous écrivons :

Dans le cas de 16 fichiers sons.

9- Dans l'exemple nous travaillons avec 2 univers, nous allons donc créer des repères ou les images vont pouvoir être crées :

Ici nous avons deux images, et comme le repère est fleur1, et que le compteur décrémente, nous avons la dernière image de la vidéo du premier univers, et la dernière image de la vidéo du deuxième univers

10- Le langage multidirectionnel apporte l'avantage d'aborder l'information par l'entrée qui parle le plus à l'esprit, d'ou un passage rapide et un retour à un point du document vidéo. Pour pouvoir se déplacer dans le document vidéo, nous créons des repères cliquables :

Ici nous créons un repère sur la première image de la vidéo, la gestion des repère est fonction de ce que nous voulons exprimer. Il est possible de créer plusieurs repères sur la même image, comme de créer un repère distancé d'un nombre d'images choisit.








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

samedi, avril 22, 2017

Comment créer son extension video firefox, tutoriel 5

Comment générer son propre instrument de musique en HTML5


 Pour des raisons pratiques, l'instrument de musique est généré sous forme d'extension firefox, les exemples que j'ai créé se nomment PianoBaul. Piano car j'ai en premier dessiné un piano et Baul pour Bibliothèque Acoustique Universelle Linux car la base des sonorités de l'instrument de musique est générée avec le format audio abadie.adn
Comme tout ce qui concerne le langage multidirectionnel ici, il n'y a que de l'entendement, pas d'algèbre, pas d'imitation, même pour le dessin la même base peut devenir un cercle, un rectangle ou un coeur, tout est question de dimension et équilibres de dimensions

La page d'accueil de l'extension PianoBaul est à télécharger ici PianoBaul.html et son répertoire à télécharger ici :  PianoBaul 

Pour créer son propre instrument de musique sous forme d'extension, il faut reprendre le début du tutoriel précédent pour créer son propre manifest.json qui va ouvrir sa propre page PianoBaul.html qui pourra même être nommée autrement.

1- Nous trouvons dans la page PianoBaul.html un fichier d'entête qui indique que c'est du HTML, et qu'il faut afficher l'instrument de musique sur la page complète.


2- Comme indiqué dans l'image ci-dessus nous indiquons aussi l'adresse d'un fichier javascript, et aussi l'adresse d'un fichier css qui va nous permettre de créer l'instrument de musique. Nous dessinons en css car cette pratique est adaptée au langage multidirectionnel, cette pratique est adaptée à l'entendement. Nous retrouvons avec le css, une partie effet visuel, qu'utilisaient les hommes préhistorique quand ils faisaient tourner un os autour de son centre.

3- Ensuite nous donnons des identités (id= ) à des emplacements (class=). Les emplacements sont déterminés par des dessins en css, et les identités vont permettre au javascrit de créer des événements (comme jouer un son) quand nous allons soit survoler, soit cliquer au doigt ou au clavier ou ...


4- En fin de fichier nous indiquons les emplacements des différents fichiers javascrit utiles. Il est tout à fait possible de les regrouper en un seul fichier ou de les insérer dans le code HTML, mais comme j'ai prévu que chacun puisse créer son propre instrument de musique, j'ai préféré les séparer afin que chacun puisse les modifier plus facilement.




5- Les fichiers ajoutés sont :
adresse.js : qui sert à pister un événement sur un emplacement adresse.js avec

document.addEventListener('DOMContentLoaded', function() {
document.getElementById('b1v').addEventListener("click", function() {
touche1Press();
});









ou encore à pister les touches claviers en permettant que le même son puisse se chevaucher (lu plusieurs fois avant que la première lecture est fini) avec


 case "a":
    mua1 = mua1 + 1;
    if(mua1>3){
        mua1 =0;
      }
    multitouchea(mua1);
break;


Ce fichier est principalement composé d'adressage pour indiquer quand le son doit être joué et quel son doit être joué. La technique qui permet de jouer plusieurs fois le même son rapidement est de créer plusieurs noms de fichiers contenant le même son

adresse.css :  qui sert à dessiner adresse.css
Nous utilisons le css pour dessiner, j'ai créé depuis plusieurs années des tutoriels des techniques, en exemple derrière ce lien : http://www.letime.net/alpha/5.html

adn1.js : adn1.js


 qui sert de brique acoustique. Le concept est de générer une forme acoustique de base au format audio abadie.adn, ensuite de créer des tableaux de variations d'une partie de cette brique en fonction des touches, de l'instrument de musique, appelées.

adapt1.js :
adapt1.js

Ce fichier ne sert qu'à créer une entête pour que le fichier audio soit compatible avec les lecteurs audio d'aujourd'hui. Explications, les pratiques du moment veulent qu'en début de fichier, nous écrivons ce que contient le fichier, quel lecteur utiliser, le nom du fichier, ... Ce n'est pas seulement l'extension qui indique quel outil utiliser pour lire le fichier, c'est surtout ces données placées en début de fichier.

adapt.js :
adapt.js



Ce fichier est une table contenant tous les résultats possibles, ceux-ci sont utilisés en fonction de la durée qui est au maximum 128 en jouant sur la symétrie et un nombre de point clefs basés sur un octet. Les résultats sont donnés sur 2 octets et comme c'est de la modélisation, la qualité est largement supérieur aux capacités acoustiques de l'oreille humaine. Nous utilisons cette technique d’imitation, car si les ordinateur sont d’excellents imitateurs, par contre, ils ne savent pas compter rapidement sans faire d'erreurs.

joa.js : joa.js

Ce fichier sert à lire le contenue de la brique acoustique, pour générer la forme acoustique. Il faut bien comprendre dans le concept qu'ici pour les sons, comme pour les vidéos, nous n'utilisons pas d'algèbre, pas de fréquence, pas d'onde. Nous utilisons des formes qui mettent plusieurs dimensions en équilibre. C'est du langage multidirectionnel, comme l'utilisaient les hommes préhistoriques ou plus proche de nous les celtes, en encore plus proche de nous la convention de 1789 qui a posé les bases de notre République.


act1.jsact1.js qui sert à transformer le format audio abadie.joa en format audio compatible avec la technologie audio actuelle

back1.js
back1.js   

Ce fichier sert à déterminer combien de sons va contenir l'instrument de musique, ici dans l'exemple il y a 36 sons de manière à avoir les 26 lettres du clavier plus les 10 touches du clavier numérique, soit 36. Mais rien empêche de modifier pour se créer un pad tactile contenant beaucoup plus de son, voir même des briques acoustiques composées de plusieurs briques acoustiques.

Dans l'exemple pour 36 sons cela s'écrit : 

 document.addEventListener("DOMContentLoaded", function(event) {
var pour = [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];
for(var pour1= 0; pour1 < 36; pour1++)
{
    lance(pour[pour1]);
}
});





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

Comment créer son extension video firefox, tutoriel 4

 Le fichier jo.js à télécharger ici  jo.js 


Contient une partie qui permet d'identifier les différents fichiers audio en les nommant et d'une partie qui génère les fichiers audio au format actuel à partir d'un fichier audio au format abadie.joa

Le format audio abadie.joa est un format audio qui indique la crète et la durée de chaque front d'onde en mode ascii

Les entrailles du fichier

Pour créer le nom du fichier audio qui va être lu,
1- je crée une constante nommée basewave que je mets en mémoire dans la valeur lenommeur1
lenommeur1= "basewave";


2- Je crée une variable nommée le variateur que j'incrémente à chaque appel de la fonction ou se trouve la variable
levariateur = levariateur + 1;

 3- Je modifie le nom du fichier audio en concaténant le contenue de la constante avec le contenue de la variable, j'aurais pu utiliser le symbole + pour concaténer, mais les entrailles du javascript sont parfois hazardesues et l'utilisation de concat est plus sure.
lenommeur = lenommeur1.concat(levariateur);

4- j'effectue un trie en fonction de la valeur contenue dans le variateur en utilisant un switch
switch(levariateur) {

5-  Exemple ou le variateur égal 2, qui s'écrit avec case 2:

Je crée trois variables que je vide, à chaque lecture
Je crée une fonction nommée ajouteElement que j’appelle à la fin
Dans cette fonction je place un générateur de code qui va dans la partie HTML, générer un lecteur audio adressé  avec le bon nom du fichier audio généré.
Cette partie marie logique et conventions d'écriture. Les conventions impliquent que le code semble long, mais c'est comme ça.
La logique est que nous devons avoir un nom unique par fichier audio, qu'il faut dire à la page HTML d'ouvrir un lecteur audio en direction du bon fichier audio, c'est tout, le reste n'est que conventions pour dire ça.

//zone 1
var mon_audio1 = null;
var nouveauaudio1 = null;
var nouveauaudio1a = null;
function ajouteElement() {
  // crée un nouvel élément audio
  nouveauaudio1 =  document.createElement("audio");
nouveauaudio1.setAttribute("id", "audiojoa");
nouveauaudio1.setAttribute("controls", "controls");
nouveauaudio1.setAttribute("autobuffer", " ");
  // ajoute l'élément qui vient d'être créé et son contenu au DOM
 nouveauaudio1a = document.createElement("source");
  nouveauaudio1a.setAttribute("src", "data:audio/wav;basewave2,");
   nouveauaudio1.appendChild(nouveauaudio1a);
  mon_audio1 = document.getElementById(lenommeur);
  document.body.insertBefore(nouveauaudio1, mon_audio1);

ajouteElement();
//fin zone 1


Du nombre de cas écrit, sera le nombre de cas possibles, en français du nombre de fichiers audio que nous pourrons générer pour les mixer à la lecture avant de de régénérer la page HTML pour pouvoir générer de nouveaux fichiers audio

6- Génération du fichier audio

La partie précédente ne sert qu'à créer le code HTML, maintenant nous allons générer le fichier audio.
En premier nous créons un fichier audio source avec

var audio = document.getElementById("audiojoa");
var source = document.createElement("source");
source.setAttribute("src", lenommeur);
audio.appendChild(source);


Ensuite nous générons le fichier audio avec la fonction

function lecjo(FichierAudioJo)

La fonction compare en premier si la valeur de crète est inférieur ou supérieur à la valeur de crète précédente pour savoir si c'est un front montant ou un front descendant. Ensuite elle va chercher les valeurs dans la table en fonction de la durée en créant un point de symétrie par rapport au centre du front d'onde. Les points de repère de la table sont sur 8 octets divisés par deux grace à la symétrie d'ou 128 cas possibles, mais les valeurs dans la table sont bien les réponses obtenues pour un fichier audio de 16 octets. Cette technique associé au fait que c'est de la modélisation permet d'obtenir une qualité sonore jamais égalée, car la finesse du résultat est largement supérieur aux capacités technologiques ou physiologiques.
Cinq minutes de rire pour un adulte, durent une éternité pour un enfant.

Comment créer son extension video firefox, tutoriel 3

 Le fichier convertit.js à télécharger est composé d'un transformateur binaire à ascii.

Explications : 

A- Inventaires des savoirs :

1- L'homme utilise toujours un langage à la hauteur de ses besoins, plus le langage est évolué, plus l'homme est intelligent. Nous trouvons dans les grottes préhistoriques Ariégeoise un langage donnant une grande quantité d'informations, compréhensible par tous, un langage multidirectionnel. Plus tard nous trouvons dans le celte une base de 5 caractères avec différentes puissances, un langage multidirectionnel très évolué ayant une très grande puissance. Pour rappel l'utilisation de 2 caractères me suffise pour reproduire tous les sons, 5 caractères est au delà de l'imaginable avec notre langage actuel. 

2- la logique est toujours ce qui plaît à l'entendement, ainsi de part sa construction et aussi de part ses règles, l'informatique ne peut être considérée comme logique. Cet état de fait est que nous devons utiliser des transformateurs pour passer le même objet d'une dimension à une autre, l'informatique ne peut percevoir l'objet comme nous le percevons avec en exemple le format audio abadie.adn
Cette incohérence de l'informatique fait que dans l'exemple de Lecjo qui écrit les fichiers son en binaire, nous devons transformer l'information en ascii et encore en respectant certaines règle d'écriture, sinon l'informatique aurait vite fait les mauvaises interprétations avec tous les cas non désirés que cela implique.

B- logique pure
Nous allons essayer de laisser les traces de l'entendement humain, de la cause sur de l'informatique, en produisant des effets (phénomènes physiques)

C- Logique appliquée

Nous transformons le langage binaire en langage adapté au code machine en respectant les règles d'écriture du langage machine.

D- Logique appliquée déduite de deuxième niveau

A l'aide d'une boucle qui scan le fichier audio :

for (var i = 0; i < text1.length; i++)
{

Nous indiquons pour chaque valeur binaire d'un octet son équivalent en ascii , en exemple :

case "\x00": FichierAudioJo[i] = 0;

 le switch permet de faire le tri


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

mercredi, avril 19, 2017

Comment créer son extension video firefox, tutoriel 2


La page d'accueil de mon extension sert à naviguer dans les applications, mais est aussi une application en elle-même, un lecteur de fichier au format abadie.jo
Le fichier est ici à télécharger  lecjo.html
1- C'est une page HTML, avec une entête minimum :


Une fois que chacun a fait son choix, il est inutile de reprendre toutes les applications, car celles-ci ont surtout un but pédagogique afin de pouvoir utiliser le générateur de vidéo interactives en langage multidirectionnel.
2- Pour revenir à lecjo.html, nous trouvons ensuite le body qui commence par des tag (un marquage avec des identités) pour pouvoir générer les lecteurs audio en début de fichier




3- Nous plaçons un navigateur de fichier de manière à ce que l'utilisateur puisse indiquer ou se trouve sur son PC, le fichier audio au format abadie.jo qui va être lu.




Le principe du format audio abadie.jo est de n'indiquer qu'une valeur de crête et une valeur de durée par front acoustique. Pour savoir si le front est montant ou descendant, il sufit de comparer par rapport à la valeur de crête du front précédent.

4- J'indique quelques explications,



5- Je crée des lien vers d'autres applications, des explications, ou même des exemples de démonstration

6- Le mécanisme de l'application, est construit afin d'être modifié par chacun selon son utilité et sa convenance. Pour faciliter l'utilisation, j'ai séparé les taches dans plusieurs fichiers javascript, tout le code aurait être écrit dans un seul fichier. Attention de même lorsque nous écrivons un code, il y a une notion d'ordre d'apparition, il en est de même pour les fichier javascript, en exemple nous ne pouvons pas appeler une fonction, si nous ne l'avons pas encore définie.

7- adaptateur

 
Nous retrouvons dans Lecjoa le même schéma logique que dans Lecjo, pour retrouver l’utilité de ce fichier cf le tutoriel précédent sur Lecjo

8- table

 
9- Il reste deux fichiers qui méritent un poste par fichier (postes suivant) et la fermeture des balises ouvertes



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

Comment créer son extension video firefox, tutoriel 1

 Pour pouvoir créer une extension firefox, il faut en premier créer un fichier d'identification que nous allons placer dans un répertoire de travail créé à cet effet. Ce fichier d'identification porte toujours le nom de manifest.json

1- A télécharger comme base pour modification manifest.json

Dans ce fichier nous trouvons plusieurs portes vers plusieurs types d'extensions, il ne faut garder que celle orienté vers l'extension que nous voulons créer. 

2- Le contenu de ce fichier est :
Une identification, un lien vers le premier script, ici il ouvre une page HTML au clique sur l'icone, une icone dans la barre des taches, et un numéro de version.

3- Pour respecter les bonnes pratiques, dans le répertoire de travail, il faut créer un répertoire  page-scripts dans lequel nous téléchargeons background.js afin de le modifier aussi.

4- Le contenu de ce fichier est :
/*
Open a new tab, and load "lecjo.html" into it.
*/
function lecjob() {
chrome.tabs.create({
"url": chrome.extension.getURL("lecjo.html")
});
}


/*
Add lecjob() as a listener to clicks on the browser action.
*/
chrome.browserAction.onClicked.addListener(lecjob);

Entre les slash étoile ce sont des commentaires, la dernière ligne piste le clique sur l'icone pour activer la fonction "lecjob", et juste après le premier commentaire, nous indiquons ce que fait la fonction lecjob, à savoir ouvrir une page HTML, ici lecjo.html






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

vendredi, avril 14, 2017

Comment créer son extension video firefox, tutoriel

Pour créer son extension vidéo, il faut en premier créer un répertoire de travail, puis télécharger dans ce répertoire de travail les fichier se trouvant à cette adresse : https://github.com/temps9/lecjoa 

 Il est fort probable que l'outil qui se trouve derrière ce lien vous fasse découvrir un nouveau monde, vous permette d'ajuster plus facilement de nombreuses idées et concepts. En exemple les notions de formes carré, cercle, sphère, cube, ce sont exactement les mêmes facteurs, c'est juste un coefficient dans une dimension qui change.

Tout au long des postes qui vont suivre, je vais essayer de décrire au mieux comment j'ai écris les applications, et comment celle-ci fonctionnent.

La plus importante de toutes ces applications est le générateur de vidéo en langage multidirectionnel, car celle-ci permet de générer des vidéos toutes droites sorties de l'imagination qui se manipules aussi bien en univers, qu'en vitesse ou qu'en positionnement. Aucune image imité, que du css que génère et pour les sons, c'est pareil en utilisant le format audio Lecjo

Pourquoi, j'ai créé cet outil ?
Imaginer que je sois né dans un monde ou la corruption et la tromperie règne en maître, que cela se puisse que par ignorance mère de bêtise.
Imaginer que mon corps soit meurtrie suite à des actes barbares quand je défendais la compassion.
Imaginer un monde ou on vole les arrêts de travail, qu'on envoie les hommes au visage arraché dans des lieux insalubres en menace d'être expulsé du toit qui abrite le foyer, et qu'ensuite on arrache ce toit après s'en être pris aux liens du sang. Que personne ne bouge ou pire que les comités de controle parlent de menteur quand les actes sont dénoncés, que toutes sortes d'agressions dont certains avec risques vital sont perpétrés pendant plus d'une décénie.
Que dans les rues sur les chemins, nous croisons la misères de jeunes en age de l'espoir ou des faisables, des jeunes aux maladies d'un autre age, parfois couchés au sol, parfois assis sur des cartons, et ceci par centaines, pendant que le soir à la télévision j'entends des politiques déclarer que tout va bien !

Je ne sais pas, je ne sais plus, je suis perdu pour cette société antisociale (à mon sentiment), le rêve est d'apporter un outil de communication apportant richesses pour tous, la réalité est d'inventer pour oublier ce qui m'entoure.

La première règle à ne jamais oublier en informatique est :
La logique est toujours ce qui est le plus simple à l'entendement. Un ordinateur ne sera jamais logique de par sa nature, et de ses croyances de construction. C'est à nous de tirer au mieux de ses avantages et de ses inconvénients.

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

jeudi, avril 13, 2017

Comment créer son extension firefox, tutoriel

 Ce tutoriel a pour but d'expliquer comment créer sa propre extension firefox à partir de l'Add on Lecjo
Publique visé :
1- Les compositeurs musicaux
2- Les enseignants qui veulent faire apprendre à apprendre le langage multidirectionnel en passant par l'acoustique

Les compositeurs musicaux trouvent ici un outil qui leur permet de trouver de nouveaux sons, de conceptualiser de nouvelles sonorité, de créer des mélodies qui ne sont pas issues de sons déformés, mais issues de sons tirés tout droit de l’imagination.

Les enseignants trouvent ici un outil pour pouvoir pratiquer l'art d'apprendre à apprendre. Selon le niveau de l'apprenant l'enseignant peut adapter son cours afin que chacun puisse évoluer dans la compréhension du monde qui nous entoure.

Les briques acoustiques.
L'application générée a besoin d'une page HTML contenant au moins une brique acoustique pour pouvoir fonctionner.
Une brique acoustique est composée de 75 valeurs, actuellement plusieurs d'entre elles ne sont pas utilisées.
Pour créer une brique acoustique, il suffit d'écrire 75 valeurs, mais dans l'utilisation les AMO spécialistes en comment coder m'ont demandé d'améliorer les possibilités. Ainsi j'ai modifier le code des briques acoustiques pour que le nombre de briques soit inscrit dans le code de la première brique, et j'ai modifié le code (plus lourd), pour qu'il soit possible que chaque valeur d'une brique acoustique puisse être remplacé par une valeur issus d'un autre tableau. Ce qui permet une infinité de cas avec très peu de données. Cet aspect est très important pour les compositeurs voulant faire des rappels de sonorités et aussi pour l'enseignement à un niveau très avancé.

Pour rappel les fichiers utiles pour pouvoir créer sa première extension musicale se trouvent ici   Lecjo 
Les pages du tutoriel sont :
De Lecjo à Lecjoa how to 
De Lecjo à Lecjoa 1 table.js how to 
De Lecjo à Lecjoa 2 background.js how to 
De Lecjo à Lecjoa 3 constructeur.js how to 
De Lecjo à Lecjoa 4 adaptateur.js how to


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

De Lecjo à Lecjoa 4 adaptateur.js how to

L'adaptateur sert à créer une méta entête  au fichier audio généré.
adaptateur.js 
Les fichiers audio par convention contiennent à leur début des informations pour indiquer le format, le nombre de byte par seconde ...
le fichier adaptateur.js, ne sert qu'à ça

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

De Lecjo à Lecjoa 3 constructeur.js how to

Le fichier constructeur.js sert à convertir le format abadie.joa en un format compatible avec la technologie des cartes audio actuelles. Il transforme donc deux données, la valeur de crète et sa durée, en une suite de points allant de l'ancienne crète à la nouvelle crète. Le nombre de points (ce sont les pressions) reliant les deux crètes, est indiqué par la durée. Si la durée indique une seconde, il faut 44100 points, ce cas ne se retrouvera pas dans mon code, car j'ai limité la durée max à 250 points.

En détail constructeur.js 

L'action qui construit les fichiers audio est dans :

function lecjoa1(FichierAudioJo)

Nous séparons deux cas, soit la valeur de crète est inférieur à la valeur précédente et dans ce cas nous traitons la descente avec :
frontdescend(amplitude, nbdepoints, ludion);
soit la valeur de crète est supérieur à la précédente et nous traitons la monté avec
 function frontmontant(amplitude, nbdepoints, ludion)

La variation est dessinée par rapport à une symétrie en son centre, par rapport aux valeurs dans la table, nous aurons donc la lecture dans un sens puis la lecture dans le sens contraire. Ces valeurs en exemple dans le cas descente, seront par rapport à la crète haute, enlevée en % croissant, puis arrivé au centre des deux crètes sera enlevé en % en sens décroissant.

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

mardi, avril 11, 2017

De Lecjo à Lecjoa 2 background.js how to

La grande cuisine, ici j’ajoute tel ingrédient, là tel autre ingrédient pour obtenir au final un résultat qui fait le tout. Ce n'est pas le temps de cuisson qui compte, ce n'est pas les différentes variations de température pendant la cuisson qui compte, ce n'est pas la manière et les dimensions de coupe des ingrédients qui compte, c'est le savoir faire de la cuisinière qui sait marier toutes ces différentes dimensions pour en tirer un équilibre savoureux aux propriétés nutritionnelles bien loin de ces imitations de plat qui se trouvent en grande distribution. La musique est comme notre corps , la musique est ce que nous y mettons dedans. La musique c'est comme en cuisine, de l'Art, de la Foi, et des sciences, pour apprendre il faut observer ce qui se passe en cuisine ( une vrai pas une cuisine d'outre manche, il faut observer la richesse des techniques, les équilibres des éléments aux effets contraire ou qui se repoussent comme la vinaigrette), puis observer les lois physiques en identifiant et ajustant les différentes dimensions.

Pour un compositeur créant sa propre extension firefox, s'il ne devait toucher qu'un fichier, ce serait celui-ci qu'il retoucherait. Car selon les besoins, les dimensions utilisées, sa forme peut être facilement optimisée. Il est même possible d'ajouter des dimensions particulières ou en supprimer car inutiles à la forme acoustique désirée.

J'ai créé la forme de ce fichier en utilisant les dimensions par ordre d'importance selon mon sentiment. J'ai grandement été influencé par les descriptions celtique, et aussi même si cela peut paraître surprenant par les techniques multidirectionnelles laissées par les hommes préhistoriques dans les grottes ariégeoises. En d'autres mots, j'encourage chacun à modifier la structure selon ses croyances ou envies, car le résultat actuel ne peut être qu'orienté vers un résultat qui me plaie.

Pour créer ce fichier, J'ai en premier identifié les lois du mixe pour pouvoir marier plusieurs sons de base. Il existe le mixe d'accompagnement avec ses limites et le mixe du surf qui impose une oeuvre au blanc que j'ai nommé licorne. Pour créer une licorne, il faut qu'il y ai un espace sans variation après le premier son pour qu'il soit mis en mémoire, puis que le deuxième son (la licorne) commence avec une variation de pression faible (même si nous augmentons la force par la répétition).

Nous remarquons que pour décrire cette dimension, j'ai du déjà en utiliser deux autres, car nous sommes dans un tout lié.

En second, avant même d'avoir créé le format audio, j'ai remarqué qu'en coupant la voix humaine à une amplitude haute, nous créions un son de piano. J'ai donc testé début 2010, les différentes variations partant d'une amplitude haute allant vers des amplitudes basses et ait identifié les sons de piano, de guitare, de tambour ... C'est la raison de la construction du code actuel qui en premier permet de jouer sur les durées et les amplitudes des fronts.

En troisième en regardant les formes acoustiques, nous nous apercevons qu'il y en a une qui revient souvent, et parfois même les différents sons ne sont construit qu'avec cette dimension. C'est une forme de plateau, c'est comme l'équilibre d'un système naturellement stable au delà de l'équilibre des pressions naturelles.

De manière à créer des fonds fixes, qui vont réagir différemment selon les variations des fronts d'attaque, j'ai ajouté 4 fronts au deux premiers fronts.

De manière à jouer sur des effets contraire, et les roulements, j'ai ajouté plusieurs formes de mixes de fronts, mais cette partie est plus de la curiosité acoustique, à la recherche d'un art sur la voix humaine ou des effet sur le violon.

Les mains dans les entrailles du canard gras.

background.js

- avec
var donne = [];
donne[74] = document.getElementById("don1n74").value;

Je regarde s'il existe un fichier javascript contenant la variable donne, si celle-ci n'existe pas, l'extension n'est pas active. Si celle-ci existe, je met en mémoire combien d'éléments acoustiques vont être générés. Car par convention que j'ai fixé, l'indice 74 de donne, indique le nombre de briques acoustiques.

- Avec cette boucle, je vais chercher les 75 indices de la brique acoustique

for(var pui= 1; pui < 74; pui++)
{
donne[pui] = document.getElementById(basedeconstruc.concat(pasop,"n",pui )).value;
}

- Ensuite dans le code, je crée des variables et des fonctions de manière à pouvoir placer des limites pour que les variables ne sortent pas des cas possibles. J'ai fais ça jusqu'à :
 switch (Number(donne[53]))

 au switch, je commence à analyser et diriger quelle forme va être créer, et selon les valeurs indiquées dans les briques acoustique, je génère telle ou telle forme acoustique. Dans ma structure de code, nous pouvons dire que donne indice 53 est la première branche de trie. Ce qui se traduirait en langage courant par : si donne indice 53 est égal à cette valeur, fait ceci, si donne indice 53 égal telle valeur, fait cela, et en fonction de la valeur de donne indice 53 nous allons nous rendre dans telle zone de traitement du code ou telle zone de traitement du code pour générer un format audio de type abadie.joa

Introduction au format audio abadie.joa


Comme nous l'avons décris plus haut, nous allons générer en html5, un format audio brute de type 2 octets par information contenant 44100 informations par seconde pour répondre aux normes technologiques des cartes audio d'aujourd'hui. Si nous utilisons une application type audacity pour visualiser les formes d'un enregistrement audio, nous allons nous apercevoir que les fronts sont composés de mixe d'accompagnement (type porteuse), de mixe d'accompagnement (type complémentaire), de plusieurs valeurs de jo selon la distance, ...
Le format audio actuel c'est comme se placer sur la rive d'un lac, et noter avec 2 octets la position de l'eau sur la rive 44100 fois par seconde après avoir jeté une pierre, puis une autre pierre. Le format abadie joa a pour but de se rapprocher le plus possible : d'indiquer combien de pierres ont été jeté et comment elles ont été jeté.
Pour cela, nous prenons des valeurs qui produiront les causes à effet équivalent, en écrivant seulement la valeur de la crète du front et la durée. Contrairement au format audio qui n'indique que des pressions en grande quantité, le format audio abadie.joa indique que la crète des fronts avec leurs durées.
background.js génère un fichier audio au format abadie.joa
backgrouds.js génère une suite de fronts aux effets équivalents que ceux imités en utilisant l'entendement des lois en fonction des dimensions.
Le trie des dimensions se fait à l'aide de switch qui sont pilotés par les 75 valeurs se trouvant  dans chaque brique acoustique.




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

De Lecjo à Lecjoa 1 table.js how to

Suite du tutoriel sur comment créer ses extensions firefox en langage multidirectionnel.

La logique est toujours ce qui est le plus simple à l'entendement. Un ordinateur ne sera jamais logique de par sa nature, et de ses croyances de construction.

De tous temps, j'ai entendu dire que les ordinateurs sont d’excellents calculateurs. Qu'ils savent compter d'une manière rapide, sans faire d'erreur. Qu'il sont construit sur la logique, qu'à la base, c'est une simple porte de transistor qui dans sa partie faible tension est dans une position et dans sa partie haute tension est considéré dans une autre position. Soit deux positions avec une zone de sécurité nommée zone indéterminée de tension.

D'un point de vue technologique, c'est un peu incohérent de reproduire l'action d'un électroaimant sur un contact, mais le problème est bien plus grave. Le problème est que ces machines sont présentées comme des calculateurs sans faille. Nous sommes formaté à croire que la logique n'a qu'une loi à suivre, nous sommes formaté à croire que la logique n'a qu'un seul chemin déterminé vers un absolue. Nous sommes formaté à croire que les machines savent compter.

Oui, mais la réalité est bien différente des croyances, du formatage, c'est un peu comme devant le distributeur de café à pièces, quand un grain de sable change le poids d'une pièce et que celle-ci est perdue. Il n'y a pas de dialogue, sur l'oxydation, l'usure, l'usage, il y a une croyance qui génère une règle présentée comme logique.
Ainsi j'ai pu m’apercevoir, il y a maintenant presque deux décennies qu'un calcul logique d'analyse fin que j'avais effectué à la règle à calcul, ne pouvait pas être reproduit par les différents tableurs informatiques testés !!!
Plus récemment en travaillant en équipe sur le format audio abadie.jo j'ai pu m'apercevoir que nous ne pouvions pas utiliser les ordinateurs comme calculateurs. Au début je demandais aux machines de calculer les différentes valeurs de pressions afin de générer l'audio au format compatible avec les cartes sons. Je créais le son de la voyelle i, j'envoyais le code générateur à un dev, il me déclarait entendre le son u, je reprenais le code pour écouter, et j'entendais le son é. Ok, il y avait toujours les lois d'une voix humaine, mais les résultats des calculs étaient assez aléatoire pour générer des voyelles différentes. J'ai donc créé une demande d'opération à une machine que j'ai répété à plusieurs reprise après avoir éteins la machine entre chaque demande. J'ai comparé et mis en évidence que les résultats changeaient.

Comme nous ne pouvons pas demander à une machine de faire quelque chose quelle ne sait pas faire, nous allons créer un tableau contenant toutes les réponses possibles, et ensuite adapter le code pour qu'il aille chercher les réponses sans à avoir de calcul à faire.  De plus la lecture d'un adressage consomme beaucoup moins d'énergie et ait bien plus rapide qu'une opération mathématique.

De l'usage et des idées.
Comme dans l'étude du choix des imprimantes, pour construire notre tableau de réponses possibles, nous allons mettre en équilibre les différentes dimensions aux lois différentes.
1- Objectif utiliser peu de ressources pour obtenir un rendu acoustique couvrant les capacités physiologique humaine.
2- Les lois minimale imposée de d'acoustique
3- Les conventions des différents langages informatiques possibles

table.js sous la forme proposée table.js

 Historiquement, les avancées technologiques en acoustique, ont pris deux voies. L'une qui allait du concept à la réalisation (les différents générateurs sonores, comme les instruments de musiques), l'autre qui reprenait les techniques animal (imitation). L'imitation a fait une grande avancé quand nous nous sommes aperçu que la variation de pression pouvait être mise en mémoire à l'aide d'une pointe sur un objet. Le mouvement de l'objet crée une base de temps qui permet de garder en mémoire les variations de pressions.
Aujourd'hui les cartes audio n'ont pas changées, elle sont toujours sur ce même principe d'imitation. Nous n'avons qu'à créer une suite de valeurs indiquant la pression et une base de temps pour indiquer à qu'elle vitesse les reproduire.
Notre tableau ne contiendra donc que des valeurs de pression.

Dans le cas d'un son imité, un format audio de deux octets est correct et peu d'oreille arrive à faire la différence avec un son plus lourd. Considérant qu'un son modélisé peu produire le même son de différentes manières, construire une table sur deux octets est largement au dessus des capacités physiologiques de l'homme.

Toujours avec le même argument offert par les possibilités de la modélisation, j'ai pris des repères qu'en des points de 1 octet. En plaçant l'origine acoustique sur le point de pression ambiant, cela permet de réduire encore par deux le nombre de cas, soit un demie octets, 128 cas


Les cas possibles sont calculés en utilisant trois paramètres, le temps, la pression, la distance. En utilisant une distance fixe, cela permet une valeur du nombre sans dimension nommé jo, fixe. Il s'entend que cette valeur peut-être modifiée, mon site internet contient plusieurs tableaux différents. En exemple, il est facile de séparer des voix d'un fichier audio actuel, tout simplement en faisant le trie par valeur de jo.

Dans tab1jo17 nous avons une valeur, dans tab10jo17, nous avons dix valeurs, en fait c'est comme une base de temps limité à 256 (symétrie par rapport au centre de la variation) sur un repère de format acoustique de 44100 pour faire une seconde.


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

lundi, avril 10, 2017

De Lecjo à Lecjoa how to

Peut-on confier la gestion des imprimantes à une secrétaire ?
Non, car il y a plusieurs dimensions à mettre en équilibres afin de choisir le meilleur cas en fonction de l'utilisation. Ignorer un aspect, ce serait prendre un cas particulier pour une généralité, une des définitions de la folie décrite depuis toujours (cf Aristote dans son étude des sophismes). Pour pouvoir faire l'étude, il y a un minimum de savoir technique, un minimum de savoir de gestion technique, ... en d'autres mots des savoirs qui font que la personne les possédant ne peut plus être nommée secrétaire.

Le petit texte d'introduction à lui tout seul contient toute la logique qui va suivre. Nous ne pouvons pas confier l'intelligence humaine à une machine, nous ne pouvons pas confier des opérations logiques à une machine, nous ne pouvons pas confier l'analyse des sons à une machine, car tout ces actes lui sont impossible. De même, nous ne pouvons pas confier l'administration technique à un administratif pure sans toute une panoplie de savoir techniques et un solide entendement, car tout ces actes lui sont impossible. Au mieux une machine ne peut qu'imiter une secrétaire de base au plus bas niveau, pour faire de la comparaison, et du rangement. Mais dès qu'il y a de l'entendement, ou des relations humaines, les taches deviennent en dehors des possibilités machines.

Tous les postes qui vont suivre ont pour but d'apprendre à apprendre en opposition à apprendre à croire.
apprendre à apprendre afin que chacun puisse créer ses propres Add on firefox.
Des add on qui pourront aussi bien générer des musiques ou des instruments musicaux personnalisés. En fin du How to, je donnerai plus de détail sur comment générer le langage multidirectionnel en vidéo

Les Add on firefox doivent contenir un fichier normé  pour se présenter :
manifest.json

 Ce fichier contient le nom de l'application, son numéro de version, les propriétés utilisées par l'application, l'adresse d'un logo

Pour créer sa première application, 
1- il faut créer un répertoire de travail.
2- il faut copier/coller le fichier indiquer par le lien dans le répertoire de travail, 3- ouvrir le fichier avec son éditeur de texte pour changer le nom :
lecjo@mozilla.org par votre propre nom.
4- copier/coller dans le répertoire 
adaptateur.js
background.js
constructeur.js
table.js
5- créer dans le répertoire de travaille un répertoire nommé icons, dans lequel nous plaçons une image pour la bare des tache nommée  : lecjo-32.png .
Cette image peut porter un autre nom, pour cela il faut changer le nom dans manifest.json

6- Cliquer dans firefox sur : "open menu" 
7- Cliquer dans la table qui s'ouvre, il faut cliquer sur : manage your add-ons
8- cliquer sur tools for all add-ons





9- cliquer sur :debug Add-ons, puis cliquer sur : load temporary Add-on
dans le navigateur de fichier, il faut indiquer l'emplacement ou se trouve votre manifest.json

Manifest.json de démo contient :

son identité avec un nom :
"id": "lecjo@mozilla.org",

à quoi sert l'application, ici lire des fichiers audio dna qui est un langage mutidirectionnel ( il met en équilibre les différentes dimensions aux lois différentes) :
"description": "Play audio file dna",

son nom
"name": "Lecjo",

les permissions utiles, ici pour mettre en mémoire les fichiers audio générés
"permissions": ["storage"],

on indique les fichiers utiles :
"content_scripts": [
{
"matches": [""],
"js": ["adaptateur.js", "table.js", "constructeur.js", "background.js" ]
}

on place un logo dans la barre des taches pour saoir quand l'Add-on est installé

], "browser_action": {
"default_icon": "icons/lecjo-32.png"
},


Dans les postes suivant, j'indique à quoi servent les fichiers et comment ils sont construit, afin que chacun puisse les modifier à sa convenance. Afin que chacun puisse créer son propre lecteur musical, un lecteur adapté à l'utilisation désirée et aux sonorités désirées.


 

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