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

  1. 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, ...
  2. 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];
  3. 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];
  4. 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 courante

    L'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];
  5. 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];
  6. 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];
  7. Exemples 6 fronts

    Exemple

  8. Exemples 8 fronts

    Exemple

  9. 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

  1. 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
  2. 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";
  3. 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
  4. 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
  5. 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