Langage multidirectionnel mode démonstration
Partie acoustique
Le pilote des fichiers sons est le fichier adn.js
Dans les exemples suivant, il y a 10 piano, d'ou il y a 10 fichiers adn
Ces fichiers portent le nom de adn1.js, adn2.js ...
En début de fichier adn, il se trouve un tableau de base.
Dans adn1.js, c'est vall1
Ce tableau contient 75 valeurs, 75 adresses, la première adresse est nommé donne 0,
et la dernière adresse est nommée donne 74
Nous modifions nos fichiers adn.js à l'aide d'un éditeur de texte
et nous visualisons nos modifications à l'aide d'un cliqu sur le fichier index.html.
Cette action lance le navigateur avec notre contenu
Cas d'un son constant, composé de deux fronts de même amplitude de pression sans variation de durée
Exemple sans plateau
Exemple
Dans ce cas, nous indiquons dans la première ligne:
[1, 220, 24, 0, 0, 0, 0, 0, 0, 40,
Ce qui écrit la valeur 220 pour la première amplitude de pression. donne 1 = 220
Les pressions possiblent sont entre 30 et 220 pour ne pas avoir de conflit quand nous travaillons à des niveaux binaires bas comme ici.
Et nous écrivons la valeur 24 à donne 2, qui correspond à la durée du premier front. Les durées sont entre 6 et 250.
Dans le tableau chaque début de ligne correspond à un début d'unité, en ligne 0 c'est de 0 à 9, en ligne 1 c'est donne de 10 à 19
Ici nous varions les valeurs du tableau à l'aide des boucles for qui va chercher dans un au tre tableau la valeur pour chaque note
Les fichiers adn suivent aussi la technique du langage multidirectionnel.
Les valeurs utilent ici sont :
donne 1 : l'amplitude de pression du premier front
donne 2 : la durée du premier front
donne 9 : l'amplitude de pression du deuxième front
donne 10 : la durée du deuxième front
donne 11 : qui indique le nombre de front.
donne 71 : qui indique le nombre total de front et crée la durée totale du son
Tout le reste est mis à l'indice 0.
Le changement des valeurs est effectué à l'aide de boucles for,
qui vont chercher les valeurs dans les tableaux.
Pour les valeurs de l'amplitude du premier front, le tableau ce nomme val11
La première valeur du tableau correspond à la première note audio, la deuxième valeur à la deuxième note, ...
Cas d'un son composé de deux fronts d'amplitude décroissante et de durée croissante
Exemple sans plateau
Exemple
son sec type bois, pour simplifier j'indique directement la base de adn1.js
var vall1=[1, 220, 24, 0, 0, 30, 130, -1, 250, 40,
169, 2, 0, 30, 129, -1, 250, 0, 40, 159,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 100, 0, 0, 1];
Pour les variations d'amplitude entre front et de durées, nous avons ajouté 8 valeur par rapport au premier exemple.
Exemple
son sec
[1, 220, 24, 0, 0, 3, 130, -1, 250, 40,
169, 2, 0, 3, 129, -1, 250, 0, 40, 159,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 100, 0, 0, 1];
Exemple
son ruisselant car la variation d'amplitude est à 1,
Le principal intérêt ici apparait avec le son particulier issus des manipulation touche clavier en mode vidéo
En maintenant une des touches clavier de "a" à "o", nous avons l'impression d'un son se déplaçant.
[1, 220, 24, 0, 0, 1, 130, -1, 250, 40,
169, 2, 0, 1, 129, -1, 250, 0, 40, 159,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 100, 0, 0, 1];
Exemple avec force par répétition sans plateau
Exemple
Nour reprenons la forme acoustique précédente et répétons le début pour augmenter la force.
[1, 220, 24, 3, 0, 1, 130, -1, 250, 40,
169, 2, 0, 1, 129, -1, 250, 0, 40, 159,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 150, 0, 0, 1];
Exemple
Nous augmentons dans cet exemple la palette des valeurs.
[1, 220, 24, 7, 0, 15, 130, -9, 250, 40,
169, 2, 0, 15, 129, -9, 250, 0, 40, 159,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 1];
Exemple
Nous augmentons les durées pour trouver un son de piano, car cette forme permet à l'inertie de se fixer.
[1, 220, 169, 1, 0, 1, 130, 0, 0, 30,
169, 2, 0, 1, 129, 0, 0, 0, 40, 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, 180, 0, 0, 1];
Exemple avec force par répétition avec plateau
Exemple
Son de tambour
[1, 220, 24, 3, 0, 15, 130, -9, 250, 40,
169, 2, 0, 15, 129, -9, 250, 0, 40, 159,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 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, 1, 1];
Exemple
Son de guitare basse en créant une assymétrie de plateau entre la pression et la depression
La quantité de plateaux en surpression se règle avec donne 72, et en depression avec donne 73
[1, 220, 24, 3, 0, 15, 130, -9, 250, 40,
169, 2, 0, 15, 129, -9, 250, 0, 40, 159,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 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, 3, 1];
Cas d'un son composé de deux fronts d'amplitude décroissante et de durée décroissante
Exemple
Nous obtenons de sons de basse. Ici les notes varient avec la force
en ajoutant dans la boucle ml[b1][3]=vtl19[b1];
[1, 220, 24, 7, 0, 15, 130, 9, 6, 40,
169, 2, 0, 15, 129, 9, 6, 0, 40, 159,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 1];
Le gestionnaire de forme
donne 53 pilote un gestionnaire de forme
Les cas présentés jusqu'à maintenant sont tous à l'adresse 0
L'adresse 0 est la plus couranteL'adresse 9 et 10 sont des adresses destinées au surf acoustique
Exemple
Effet de surf acoustique.
[1, 228, 24, 1, 48, -4, 211, 1, 20, 228,
169, 4, 0, -4, 49, 0, 0, 0, 40, 159,
0, 0, -4, 194, 0, 0, 0, 78, 62, 0,
0, -4, 66, 0, 0, 0, 153, 39, 0, 0,
10, 130, 0, 0, 0, 103, 27, 0, 0, 5,
131, 0, 0, 9, 5, 50, 0, 50, 50, 0,
84, 5, 131, 6, 0, 24, 0, 0, 0, 0,
0, 20, 1, 0, 1];
Les métaformes
donne 70 pilote Les métaformes
Quand donne 70 est à l'adresse 0, le son est généré une fois
Quand donne 70 est à l'adresse 1, le son est généré deux fois
L'intérêt des métaformes se trouve bien plus dans ses effets que dans la répétition d'un son.
Exemple
[1, 228, 24, 1, 48, -4, 211, 1, 20, 228,
169, 4, 0, -4, 49, 0, 0, 0, 40, 159,
0, 0, -4, 194, 0, 0, 0, 78, 62, 0,
0, -4, 66, 0, 0, 0, 153, 39, 0, 0,
10, 130, 0, 0, 0, 103, 27, 0, 0, 5,
131, 0, 0, 9, 5, 50, 0, 50, 50, 0,
84, 5, 131, 6, 0, 24, 0, 0, 0, 0,
2, 6, 1, 0, 1];
Exemple
Encore un cas à durée constante, l'attrait ici apparait en maintenant une touche du clavier (de a à o).
[1, 220, 169, 1, 3, 5, 130, 0, 0, 30,
169, 6, 3, 5, 129, 0, 0, 0, 190, 28,
0, 0, 1, 130, 0, 0, 0, 60, 28, 0,
0, 1, 129, 0, 0, 0, 160, 28, 0, 0,
1, 130, 0, 0, 0, 90, 28, 0, 0, 1,
129, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 30, 1, 1, 1];
Exemple
La même chose en augmentant la force et en modifiant la valeur de vitesseDuVent dans example.js.
[1, 220, 169, 2, 3, 40, 130, 0, 0, 30,
169, 6, 3, 40, 129, 0, 0, 0, 190, 28,
0, 0, 40, 130, 0, 0, 0, 60, 28, 0,
0, 40, 129, 0, 0, 0, 160, 28, 0, 0,
40, 130, 0, 0, 0, 90, 28, 0, 0, 40,
129, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 6, 2, 2, 1];
Exemple
Pour comparer, si je retire du dernier les métaformes, cela donne.
[1, 220, 169, 2, 3, 5, 130, 0, 0, 30,
169, 6, 3, 5, 129, 0, 0, 0, 190, 28,
0, 0, 1, 130, 0, 0, 0, 60, 28, 0,
0, 1, 129, 0, 0, 0, 160, 28, 0, 0,
1, 130, 0, 0, 0, 90, 28, 0, 0, 1,
129, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 90, 1, 1, 1];
Exemples 4 fronts
Exemple
[1, 130, 18, 1, 12, -1, 220, -1, 20, 129,
169, 4, 12, -1, 40, 0, 0, 0, 40, 130,
0, 0, -2, 190, 0, 0, 0, 129, 62, 0,
0, -2, 70, 0, 0, 0, 153, 39, 0, 0,
10, 130, 0, 0, 0, 103, 27, 0, 0, 5,
131, 0, 0, 9, 5, 50, 0, 50, 50, 0,
84, 5, 131, 6, 0, 24, 0, 0, 0, 0,
0, 60, 1, 0, 1];
Exemple
[1, 130, 18, 1, 12, -1, 220, -1, 20, 129,
169, 4, 12, -1, 40, 0, 0, 0, 40, 130,
0, 0, -2, 190, 0, 0, 0, 129, 62, 0,
0, -2, 70, 0, 0, 0, 153, 39, 0, 0,
10, 130, 0, 0, 0, 103, 27, 0, 0, 5,
131, 0, 0, 9, 5, 50, 0, 50, 50, 0,
84, 5, 131, 6, 0, 24, 0, 0, 0, 0,
0, 60, 1, 0, 1];
Exemple
[1, 130, 18, 1, 12, -1, 220, -1, 20, 129,
169, 4, 12, -1, 40, 0, 0, 0, 40, 130,
0, 0, -2, 190, 0, 0, 0, 129, 62, 0,
0, -2, 70, 0, 0, 0, 153, 39, 0, 0,
10, 130, 0, 0, 0, 103, 27, 0, 0, 5,
131, 0, 0, 0, 5, 50, 0, 50, 50, 0,
84, 5, 131, 6, 0, 24, 0, 0, 0, 0,
0, 60, 1, 0, 1];
Exemple
[1, 130, 18, 1, 12, -1, 220, -1, 20, 129,
169, 4, 12, -1, 40, 0, 0, 0, 40, 130,
0, 0, -2, 190, 0, 0, 0, 129, 62, 0,
0, -2, 70, 0, 0, 0, 153, 39, 0, 0,
10, 130, 0, 0, 0, 103, 27, 0, 0, 5,
131, 0, 0, 9, 5, 50, 0, 50, 50, 0,
84, 5, 131, 6, 0, 24, 0, 0, 0, 0,
2, 6, 1, 0, 1];
Exemple
[1, 130, 18, 1, 12, -20, 220, -1, 20, 129,
169, 4, 12, -20, 40, 0, 0, 0, 40, 130,
0, 0, -20, 190, 0, 0, 0, 129, 62, 0,
0, -20, 70, 0, 0, 0, 153, 39, 0, 0,
10, 130, 0, 0, 0, 103, 27, 0, 0, 5,
131, 0, 0, 9, 5, 50, 0, 50, 50, 0,
84, 5, 131, 6, 0, 24, 0, 0, 0, 0,
2, 6, 1, 0, 1];
Exemple
[1, 130, 18, 1, 12, -1, 220, -1, 20, 129,
169, 4, 12, -1, 40, 0, 0, 0, 40, 130,
0, 0, -2, 190, 0, 0, 0, 129, 62, 0,
0, -2, 70, 0, 0, 0, 153, 39, 0, 0,
10, 130, 0, 0, 0, 103, 27, 0, 0, 5,
131, 0, 0, 9, 5, 50, 0, 50, 50, 0,
84, 5, 131, 6, 0, 24, 0, 0, 0, 0,
0, 60, 1, 0, 1];
Exemple
[1, 130, 18, 1, 12, -10, 220, -1, 20, 129,
169, 4, 12, -10, 40, 0, 0, 0, 40, 130,
0, 0, -10, 190, 0, 0, 0, 129, 62, 0,
0, -10, 70, 0, 0, 0, 153, 39, 0, 0,
10, 130, 0, 0, 0, 103, 27, 0, 0, 5,
131, 0, 0, 9, 5, 50, 0, 50, 50, 0,
84, 5, 131, 6, 0, 24, 0, 0, 0, 0,
2, 12, 1, 0, 1];
Exemple
[1, 130, 18, 4, 12, -2, 220, 0, 4, 129,
169, 4, 0, -2, 40, 0, 0, 0, 130, 130,
0, 0, -2, 220, 0, 0, 0, 129, 129, 0,
0, -2, 40, 0, 0, 0, 153, 39, 0, 0,
10, 130, 0, 0, 0, 103, 27, 0, 0, 5,
131, 0, 0, 10, 5, 50, 0, 50, 50, 0,
84, 5, 131, 6, 0, 24, 0, 0, 0, 0,
0, 20, 0, 0, 1];
Exemples 6 fronts
Exemple
Exemples 8 fronts
Exemple
Ordre des sons joués dans la vidéo
La séquence des sons joués peut être de 4 comme dans certains exemples,
peut être de 4 sur une variation de 10 pianos comme dans d'autres exemples,
ou comme ici de 10 sur 10 pianos.
La composition musicale est la manière d'assembler les sons que nous avons générés.
La règle que j'ai écrite dans les exemples est :
selection2[circule]();
circuler +=1;
if(circuler == 10)
{circuler =0;
circule +=1;}
if(circule == 8)
{circule =0;
circuler =0;}
circulez +=1;
if(circulez == 9)
{circulez =0;}
Ce n'est qu'une incrémentation, de tableaux de tableaux, assemblée par des boucles du for
Le fichier de travail qui assemble les sons est example.js
Il est tout à fait possible de créer son propre tableau contenant les adresses des sons générés,
et de les ranger dans l'ordre désiré.
Exemple
Dans cet exemple j'ai modifié l'ordre en écrivant :
var selection1 = ["5","2","3","4","9","7","6","8","1"];
var selection2 = [multiff6, multiff2, multiff1, multiff4, multiff5, multiff3, multiff7, multiff8];
var fbbb1 = ["w", "x", "l", "y", "z", "r", "s", "t", "v", "u"];
et j'ai modifié la vitesse en écrivant
var vitesseDuVent = 400;
Le maintient d'une touche clavier de "a" à "o" produit l'effet
Partie visuelle
Vitesse de défilement des images
Les sons sont attachés aux images comme vu dans la partie précédente
D'ou le régulateur de vitesse initiale du son est aussi celui des images
Pour modifier la vitesse initiale, il faut avec un éditeur de texte
changer la valeur de vitesseDuVent dans le fichier example.js
Les couleurs
Toute l'application est construite sur le même principe que le monde qui nous entoure,
le même principe que notre fonctionnement cérébral.
L'application se veut être un langage de même nature, construite sur une technique de même nature
Cela se traduit par des tableaux contenant une action différente par dimension, et des tableaux contenant l'adressage ainsi que la force à appliquer à l'action indicée dans les tableaux de première nature.
Pour avoir des valeurs de forces différentes indicées, nous créons des tableaux de tableaux.
Les tableaux permettant de générer les images se trouvent dans le fichier image.js
Un simple éditeur de texte permet de le modifier
Exemple
Dans l'exemple je change les valeurs derrière le terme : nouveauin.style.background ="#ff9999";
en : nouveauin.style.background ="blue"; ou en : nouveauin.style.background ="#339933";
Les univers
Exemple
Pour la partie image, j'inverse les deux univers. Pour cela il faut dans image.js changer le terme fleur par bisfleur et
changer le terme bisfleur par fleur.
Pour la partie son nous déplaçons dans le fichier example.js la loi.
C'est à dire dans notre cas nous déplaçons de la version 2 ( if(version == 2){//2)
selection2[circule]();
circuler +=1;
if(circuler == 5)
{circuler =0;
circule +=1;}
if(circule == 8)
{circule =0;
circuler =0;}
circulez +=1;
if(circulez == 9)
{circulez =0;}
vers la version 1 if(version == 1){//2
Les mouvements
Exemple
Dans l'exemple de changement des valeurs de vam1 et vam4 dans image.js, nous changeons les touches du piano
Exemple
Dans l'exemple en changeant la quatrième valeur du tableau :
var vam11a = [36, 36, 35.5, 50, 26.8, 26.8, 36, 31, 34.1, 26.2, 25.8];
Nous déplaçons l'avant bras droit vers la droite dans l'image fleur3
Les formes
Les formes sont issus de 10 dimensions de base en équilibre.
8 dimensions qui donne la forme générale
50% 52% 86% 30% / 50% 15% 50% 99%
plus 2 dimensions pour indiquer la hauteur et la largeur
height et width
plus 2 dimensions pour indiquer le positionnement
marginLeft et marginTop
et toutes les dimensions des couleurs avec l'opacité, en exemple linear-gradient
Exemple
Dans l'exemple je change toutes les formes générales
en plaçant la force 0 comme ça
0% 0% 86% 30% / 0% 0% 50% 99%
ce qui donne une forme de bol