logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 25-01-2015 16:07:13

temps
Membre
Inscription : 01-03-2014

Comment programmer la génération de consonnes vocales

Bonjour,
Je travaille actuellement sur la BAUL, le fichier AdnForme64 plus exactement.
La particularité de cette forme est de générer le son vocal "ON"
De manière à générer les chants j'ajoute les différentes consonnes dans AdnForme64.
Pour comprendre, il faut savoir que dans la nature, les sons de voix son un mixe entre la voyelle et la consonne.
Imiter la nature imposerait de nombreux fichiers AdnForme pour les voix, j'utilise le fait que plusieurs causes peuvent avoir le même effet, en faisant surfer les sons de consonnes sur les sons des voyelles.

exemple sur les sons "M", "T", "B", "P", "C" un groupe de sons de consonnes de même nature (voir identification des familles de consonnes que j'ai du poster quelques part, je crois me souvenir avoir commencé avec la famille "F" "S").

Pour entendre cette famille les sons "mon, ton, bon; pon, con" il faut entrer dans piste1.txt

65 1 1 100 1 100 1 200 10 10 1 20 20 100 100 1
65 1 1 100 1 100 1 200 10 10 1 30 30 20 20 5
65 1 1 100 1 100 1 200 10 10 1 0 0 100 100 2
65 1 1 100 1 100 1 200 10 10 1 0 0 100 100 19
65 1 1 100 1 100 1 200 10 10 1 10 10 100 100 10



La création du son "T" se fait dans Adn par
Le code est remplacé plus bas, car j'ai mis des tableaux à la place des switch, de 340 ko, je passe à 34 ko

Les valeurs de quelpiano vont de quelpiano à quelpiano15 dans piste1.txt

J'affine encore un peu le fichier pour placer toutes les consonnes et je le mets en ligne.

Ce que nous pouvons retenir c'est que le son T est un marteau court, le son B est un marteau un peu plus long, le son P un marteau plus long avec un peu plus de force, en d'autres mots, il serait possible d'utiliser des variables, mais j'utilise des tableaux car je garde les variable pour ajuster les intonations et ne veux pas dépasser les 16 octets de la BAUL

La sélection de la consonne se fait à l'aide d'un switch qui regarde la dernière valeur de chaque ligne (piano15) dans piste1.txt, dans l'exemple donné c'est "5"

Cordialement

P.S.
J'ai mis en ligne le fichier. (http://www.letime.net/vocale/SequenBaul.tar.gz) il y a une version 16 bits, je ne compile plus qu'avec debian ce qui corrige quelques effets d'incompatibilité rencontré en compilant avec d'autres linux
Au bilan, la création des consonnes est assez facile, plusieurs lettres sont de même forme et ce n'est qu'un rapport d'amplitude avec la voyelle qui fait la différence.
le principale problème va être dans la technique de construction des voyelles. Nous pouvons classer celle-ci sous deux formes d'écriture différentes, qui correspond au son que nous utilisons dans le langage courant, et au son que nous utilisons quand nous chantons. Ce n'est pas du tout la même structure, et c'est bien gênant car cela impose 2 classes par voyelle. Les voyelles sont comme les consonnes toutes liés. Il est facile de transformer un "I" en "U", en "A" en "O" mais comme pour les consonnes je préfère garder les paramètre pour les tonalité, et donc utilise des tableaux pour chaque lettre.
Il apparaît aussi une difficulté quand nous construisons le tableau, étant donné que c'est de la modélisation, il faut faire attention aux répétitions de fronts qui tombe vite dans un son d'instrument perdant par la même la caractéristique de voix.
Il ne faut pas oublier de donner peu de force au début de la voyelle pour que la consonne puisse surfer dessus et aussi donner peu de force à la fin pour obtenir l'effet mémoire pour entendre le son.
J'ai modifié aussi la technique pour appeler la génération des consonnes. Pour éviter les répétitions dans les Adn qui génère les voyelles, j'ai créé une classe, elle est en construction, la voici avec les première consonnes avec leurs références API pour la compatibilité:

Les problèmes rencontrés sont que certaines consonnes sont de vrai voyelles, et donc les tableaux deviennent lourds, je pense au "CH", "J" ...
par contre nous remarquons que toute la gamme des D B T C ... passe facilement de l'un à l'autre puisque que la différence n'est qu'un équilibre de proportion par rapport à la voyelle qui peut s'ajuster avec les paramètres consonne. Peut être je remplacerai certaine consonne par des boucles pour éviter les tableaux. Les propositions restes ouvertes puisque plusieurs causes peuvent avoir le même effet, ceci n'est qu'un premier jet qui ne demande qu'à être amélioré pour pouvoir composer sa musique.

#include "consonnes.h"


// Génère les fichiers c.jo

void
choixconsonne (int piste, int quelpiano11, int quelpiano12, int quelpiano13,
         int quelpiano14, int quelpiano15)
{


  // Nom du fichier jo
  char nomfichierjo[32];
  snprintf (nomfichierjo, 32, "%d.jo", piste);
  // Fichier jo
  FILE *fichierjo;
  if (!(fichierjo = fopen (nomfichierjo, "ab")))
    {
      exit (-1);
    }

/***En construction**je dois séparer les consonnes type voyelle*pour les modéliser a la fin par boucle******/
/***la problématique de ces consonnes type voyelle est d’éviter la répétition de front de même forme pour éviter les forces******/

//début consonne classique type tableau

// le B,le C,le D,le G, le K, le P, le Q, le T (famille marteau acoustique)
// non marteau acoustique le L, le M, le N

  if (quelpiano15 < 128)
    {




// création de la consonne


// son 1 son "M"
      int tabamplitude1[84] = {
  129, 121, 133, 122, 130, 124, 138, 119, 127, 121, 137, 118, 130, 123,
    142, 120, 128, 120, 141, 115, 128, 117, 147, 117, 133, 115, 145,
    112, 131, 110, 149, 114, 136, 112, 148, 112, 131, 110, 148, 113,
    132, 115, 152, 113, 129, 113, 151, 110, 129, 115, 157, 111, 129,
    113, 155, 107, 127, 114, 160, 111, 133, 117, 161, 108, 129, 115,
    162, 109, 130, 119, 164, 110, 128, 115, 161, 104, 127, 116, 164,
    107, 131, 118, 173, 128
      };

      int tabdurer1[84] = {
  66, 123, 168, 76, 116, 76, 125, 107, 93, 85, 100, 88, 99, 72, 111, 93,
    84, 98, 95, 86, 103, 89, 104, 96, 94, 93, 117, 98, 82, 87, 124, 98,
    82, 93, 127, 98, 78, 91, 128, 87, 90, 85, 131, 98, 68, 94, 126, 96,
    80, 83, 124, 90, 85, 87, 112, 94, 83, 83, 105, 93, 78, 84, 106, 91,
    75, 83, 106, 95, 80, 78, 102, 94, 75, 77, 93, 90, 87, 65, 100, 88,
    78, 73, 72, 56
      };


// son 2 le son "B"
      int tabamplitude2[84] = {
  130, 119, 135, 121, 131, 124, 140, 117, 127, 120, 138, 117, 130, 123,
    143, 120, 128, 120, 141, 116, 128, 118, 145, 118, 133, 117, 142,
    114, 130, 114, 144, 117, 134, 116, 142, 116, 130, 116, 141, 119,
    131, 120, 142, 119, 128, 120, 140, 119, 128, 122, 141, 120, 128,
    121, 138, 119, 127, 123, 138, 122, 129, 124, 137, 122, 128, 125,
    135, 124, 128, 126, 134, 125, 128, 126, 131, 125, 128, 127, 130,
    127, 128, 127, 128
      };

      int tabdurer2[84] = {
  50, 127, 163, 90, 110, 95, 108, 101, 104, 81, 103, 86, 105, 76, 99,
    101, 83, 97, 87, 100, 98, 90, 103, 94, 87, 104, 116, 89, 94, 88,
    121, 93, 84, 93, 129, 89, 86, 93, 125, 99, 71, 95, 129, 97, 81, 90,
    116, 105, 81, 86, 116, 89, 90, 77, 121, 78, 104, 80, 107, 88, 86,
    70, 111, 89, 85, 90, 97, 98, 80, 78, 90, 106, 62, 93, 94, 84, 67,
    111, 68, 134, 41, 89, 95
      };

// son 3 le son "D"
      int tabamplitude3[32] = {
  126, 118, 119, 118, 121, 120, 122, 115, 123, 117, 121, 119, 121, 113,
    127, 122
      };

      int tabdurer3[32] = {
  56, 67, 5, 9, 58, 7, 30, 50, 41, 32, 28, 20, 23, 33, 29, 6
      };

// son 4
      int tabamplitude4[31] = {
  126, 107, 114, 105, 112, 106, 135, 104, 110, 73, 128
      };

      int tabdurer4[31] = {
  6, 165, 63, 69, 73, 109, 99, 82, 40, 83, 67
      };

// son 5le son "T"
      int tabamplitude5[31] = {
  128, 105, 105, 105, 102, 103, 100, 105, 103, 128
      };

      int tabdurer5[31] = {
  33, 200, 181, 59, 63, 20, 110, 134, 179, 73
      };
// son 6
      int tabamplitude6[31] = {
  128, 105, 106, 105, 106, 128
      };

      int tabdurer6[31] = {
  33, 10, 200, 200, 200, 10
      };
// son 7
      int tabamplitude7[31] = {
  128, 100, 105, 110, 115, 128
      };

      int tabdurer7[31] = {
  33, 200, 100, 50, 25, 10
      };
// son 8
      int tabamplitude8[31] = {
  128, 20, 22, 200, 198, 128
      };

      int tabdurer8[31] = {
  33, 200, 200, 200, 200, 200
      };
// son 9
      int tabamplitude9[31] = {
  128, 105, 150, 105, 150, 128
      };

      int tabdurer9[31] = {
  50, 50, 50, 50, 50, 50
      };
// son 10 le son "C"
      int tabamplitude10[31] = {
  128, 105, 150, 105, 150, 128
      };

      int tabdurer10[31] = {
  100, 100, 100, 100, 100, 100
      };
// son 11
      int tabamplitude11[31] = {
  128, 105, 150, 105, 150, 128, 128, 105, 150, 105, 150, 128
      };

      int tabdurer11[31] = {
  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7
      };
// son 12
      int tabamplitude12[31] = {
  128, 105, 150, 105, 150, 128, 128, 105, 150, 105, 150, 128
      };

      int tabdurer12[31] = {
  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14
      };
// son 13
      int tabamplitude13[31] = {
  128, 105, 150, 105, 150, 128, 128, 105, 150, 105, 150, 128
      };

      int tabdurer13[31] = {
  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21
      };
// son 14
      int tabamplitude14[31] = {
  128, 105, 150, 105, 150, 128, 128, 105, 150, 105, 150, 128
      };

      int tabdurer14[31] = {
  28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28
      };
// son 15
      int tabamplitude15[31] = {
  128, 105, 150, 105, 150, 128, 128, 105, 150, 105, 150, 128
      };

      int tabdurer15[31] = {
  35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35
      };
// son 16
      int tabamplitude16[31] = {
  128, 105, 150, 105, 150, 128, 128, 105, 150, 105, 150, 128
      };

      int tabdurer16[31] = {
  42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42
      };
// son 17
      int tabamplitude17[31] = {
  128, 105, 150, 105, 150, 128, 128, 105, 150, 105, 150, 128
      };

      int tabdurer17[31] = {
  49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49
      };
// son 18
      int tabamplitude18[31] = {
  128, 105, 150, 105, 150, 128, 128, 105, 150, 105, 150, 128
      };

      int tabdurer18[31] = {
  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56
      };
// son 19 le son "P"
      int tabamplitude19[31] = {
  128, 105, 150, 105, 150, 128, 128, 105, 150, 105, 150, 128
      };

      int tabdurer19[31] = {
  120, 110, 100, 90, 80, 70, 60, 50, 40, 30, 20, 10
      };
// son 20
      int tabamplitude20[31] = {
  128, 120, 136, 120, 136, 120, 136, 120, 136, 120, 136, 128
      };

      int tabdurer20[31] = {
  12, 11, 10, 9, 8, 7, 6, 5, 4, 4, 4, 4
      };
// son 21
      int tabamplitude21[2] = {
  128, 127
      };

      int tabdurer21[2] = {
  3, 3
      };

// son 22 le "R"
      int tabamplitude22[149] = {
  129, 125, 126, 123, 139, 122, 128, 119, 122, 119, 145, 117, 128, 124,
    128, 127, 129, 120, 122, 120, 126, 125, 137, 136, 145, 117, 128,
    124, 127, 124, 127, 123, 128, 124, 128, 110, 124, 114, 126, 123,
    128, 126, 132, 131, 145, 115, 128, 127, 129, 124, 128, 128, 131,
    128, 129, 116, 126, 119, 129, 124, 133, 127, 131, 127, 132, 131,
    137, 119, 125, 123, 129, 124, 128, 127, 130, 127, 129, 120, 126,
    125, 129, 126, 127, 126, 128, 127, 141, 121, 125, 124, 130, 126,
    133, 128, 131, 119, 128, 125, 133, 127, 131, 120, 129, 119, 129,
    128, 135, 117, 125, 122, 128, 122, 133, 120, 128, 122, 130, 127,
    128, 126, 127, 125, 131, 130, 135, 122, 129, 124, 128, 127, 131,
    123, 126, 123, 127, 124, 130, 126, 130, 129, 134, 128, 134, 128,
    132, 124, 126, 124, 128
      };

      int tabdurer22[149] = {
  64, 68, 31, 58, 141, 52, 40, 95, 19, 27, 146, 36, 61, 26, 30, 10, 26,
    67, 16, 30, 56, 7, 75, 17, 23, 35, 22, 21, 24, 22, 20, 17, 24, 21,
    20, 28, 25, 24, 29, 25, 31, 35, 42, 15, 28, 37, 35, 13, 19, 23, 35,
    11, 23, 21, 11, 31, 27, 23, 29, 22, 38, 40, 23, 26, 27, 6, 27, 33,
    27, 12, 28, 25, 22, 24, 21, 27, 19, 36, 36, 30, 38, 27, 27, 23, 19,
    14, 67, 39, 26, 14, 30, 52, 30, 28, 18, 32, 27, 23, 61, 29, 21, 25,
    25, 24, 28, 17, 22, 32, 28, 19, 24, 23, 65, 61, 28, 30, 31, 27, 20,
    24, 20, 24, 69, 2, 26, 36, 23, 30, 26, 29, 59, 50, 26, 23, 25, 19,
    31, 19, 34, 5, 29, 22, 26, 31, 22, 35, 29, 21, 43
      };

// son 23
      int tabamplitude23[12] = {
  130, 125, 133, 128, 136, 131, 139, 134, 136, 131, 133, 128
      };

      int tabdurer23[12] = {
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
      };

// son 24
      int tabamplitude24[2] = {
  130, 125
      };

      int tabdurer24[2] = {
  8, 8
      };
// son 25
      int tabamplitude25[2] = {
  130, 125
      };

      int tabdurer25[2] = {
  17, 17
      };
// son 26
      int tabamplitude26[2] = {
  130, 125
      };

      int tabdurer26[2] = {
  35, 35
      };
// son 27
      int tabamplitude27[2] = {
  130, 125
      };

      int tabdurer27[2] = {
  70, 70
      };

// son 28
      int tabamplitude28[2] = {
  130, 125
      };

      int tabdurer28[2] = {
  140, 140
      };

// son 29
      int tabamplitude29[2] = {
  170, 70
      };

      int tabdurer29[2] = {
  3, 3
      };

// son 30
      int tabamplitude30[2] = {
  170, 70
      };

      int tabdurer30[2] = {
  8, 8
      };
// son 31
      int tabamplitude31[2] = {
  170, 70
      };

      int tabdurer31[2] = {
  16, 16
      };
// son 32
      int tabamplitude32[2] = {
  170, 70
      };

      int tabdurer32[2] = {
  32, 32
      };
// son 33
      int tabamplitude33[2] = {
  170, 70
      };

      int tabdurer33[2] = {
  64, 64
      };

// son 34
      int tabamplitude34[2] = {
  170, 70
      };

      int tabdurer34[2] = {
  128, 128
      };
// son 35 son "T"
      int tabamplitude35[22] = {
  100, 140, 118, 132, 118, 132, 121, 135, 124, 138, 127, 141, 130, 144,
    133, 147, 136, 150, 139, 153, 142, 156
      };

      int tabdurer35[22] = {
  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
    12, 12, 12, 12, 12
      };

// son 36 son "T"
      int tabamplitude36[44] = {
  100, 140, 118, 132, 118, 132, 121, 135, 124, 138, 127, 141, 130, 144,
    133, 147, 136, 150, 139, 153, 142, 156, 100, 140, 118, 132, 118,
    132, 121, 135, 124, 138, 127, 141, 130, 144, 133, 147, 136, 150,
    139, 153, 142, 156
      };

      int tabdurer36[44] = {
  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
    12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
    12, 12, 12, 12, 12, 12, 12, 12, 12, 12
      };
// son 37 son "B"
      int tabamplitude37[44] = {
  129, 126, 130, 125, 131, 124, 132, 123, 133, 122, 134, 121, 135, 120,
    136, 119, 137, 118, 138, 117, 139, 116, 140, 115, 141, 114, 141,
    114, 142, 113, 142, 113, 143, 112, 143, 112, 144, 111, 144, 111,
    144, 111, 145, 110
      };

      int tabdurer37[44] = {
  150, 90, 150, 90, 150, 90, 150, 90, 150, 90, 150, 90, 150, 90, 150,
    90, 150, 90, 150, 90, 150, 90, 150, 90, 150, 90, 150, 90, 150, 90,
    150, 90, 150, 90, 150, 90, 150, 90, 150, 90, 150, 90, 150, 90
      };

// son 38 son "B" API 102
      int tabamplitude38[12] = {
  128, 114, 140, 129, 136, 125, 133, 132, 146, 146, 151, 128
      };

      int tabdurer38[12] = {
  30, 71, 46, 65, 38, 61, 63, 13, 52, 9, 23, 15
      };

// son 39 son "C" API 107
      int tabamplitude39[24] = {
  127, 126, 129, 127, 128, 125, 126, 125, 127, 125, 127, 125, 127, 126,
    128, 126, 128, 124, 125, 124, 129, 125, 141, 128
      };

      int tabdurer39[24] = {
  14, 18, 38, 175, 20, 55, 26, 44, 83, 37, 30, 24, 29, 40, 40, 89, 62,
    78, 31, 10, 43, 66, 133, 52
      };

// son 40 son "CH" API 134
      int tabamplitude40[628] = {
  129, 127, 128, 127, 128, 127, 128, 127, 129, 127, 129, 126, 129, 127,
    129, 127, 130, 127, 130, 127, 129, 127, 130, 128, 131, 128, 130,
    128, 130, 128, 130, 125, 129, 127, 130, 128, 129, 125, 128, 125,
    126, 125, 126, 123, 127, 123, 127, 121, 130, 120, 127, 124, 129,
    125, 131, 123, 128, 126, 127, 126, 127, 126, 127, 125, 126, 125,
    127, 126, 129, 125, 129, 127, 130, 125, 127, 123, 127, 126, 128,
    121, 128, 121, 127, 124, 130, 127, 127, 123, 125, 123, 128, 123,
    131, 125, 132, 127, 133, 124, 133, 127, 132, 123, 129, 128, 131,
    126, 127, 125, 128, 127, 131, 126, 133, 123, 129, 125, 132, 126,
    133, 126, 129, 124, 129, 123, 129, 123, 128, 126, 130, 121, 132,
    122, 134, 126, 131, 125, 133, 127, 129, 126, 133, 129, 130, 125,
    133, 125, 129, 126, 134, 122, 127, 123, 128, 125, 130, 123, 131,
    122, 133, 132, 133, 131, 133, 127, 133, 124, 132, 125, 130, 120,
    133, 128, 138, 122, 139, 124, 132, 127, 132, 125, 127, 123, 128,
    127, 132, 115, 137, 125, 128, 125, 135, 125, 131, 124, 132, 131,
    131, 126, 135, 123, 125, 123, 133, 120, 131, 128, 131, 125, 134,
    125, 136, 121, 130, 126, 131, 126, 135, 121, 128, 119, 136, 121,
    135, 122, 136, 123, 126, 125, 131, 125, 136, 121, 130, 127, 132,
    118, 130, 123, 132, 120, 127, 122, 129, 125, 134, 118, 134, 116,
    134, 118, 133, 122, 123, 119, 133, 129, 136, 119, 138, 122, 137,
    123, 131, 121, 130, 123, 139, 120, 130, 126, 133, 124, 132, 129,
    131, 122, 133, 124, 125, 119, 130, 120, 129, 124, 133, 119, 134,
    117, 134, 128, 133, 122, 136, 117, 132, 120, 135, 122, 129, 126,
    127, 124, 127, 115, 131, 118, 134, 123, 130, 122, 133, 125, 132,
    127, 129, 128, 131, 125, 131, 128, 135, 119, 133, 122, 130, 125,
    130, 128, 130, 124, 138, 125, 142, 124, 138, 125, 138, 122, 133,
    129, 131, 125, 132, 122, 131, 127, 133, 130, 137, 130, 140, 121,
    148, 119, 141, 120, 134, 130, 140, 126, 134, 123, 134, 125, 133,
    120, 134, 124, 137, 121, 131, 125, 135, 128, 131, 125, 129, 126,
    129, 124, 130, 125, 137, 120, 127, 126, 131, 114, 138, 122, 132,
    126, 129, 119, 138, 129, 138, 120, 131, 129, 137, 127, 135, 134,
    137, 123, 129, 128, 140, 125, 141, 124, 133, 129, 143, 123, 135,
    126, 131, 125, 135, 123, 132, 123, 131, 130, 138, 127, 138, 111,
    129, 123, 132, 118, 131, 117, 143, 121, 134, 125, 131, 125, 147,
    120, 127, 116, 144, 102, 138, 108, 132, 115, 120, 113, 143, 113,
    140, 114, 128, 119, 131, 113, 129, 116, 132, 121, 125, 120, 131,
    117, 139, 109, 135, 123, 127, 124, 137, 110, 136, 121, 130, 122,
    135, 122, 142, 121, 136, 111, 129, 121, 126, 120, 123, 119, 135,
    116, 138, 118, 125, 120, 139, 118, 137, 119, 137, 116, 137, 117,
    132, 123, 137, 124, 128, 120, 139, 114, 132, 107, 141, 101, 149,
    122, 144, 116, 154, 119, 144, 130, 133, 118, 139, 111, 137, 97, 137,
    117, 128, 124, 137, 130, 140, 126, 142, 130, 136, 115, 126, 123,
    130, 121, 125, 110, 133, 95, 134, 108, 139, 133, 152, 115, 135, 124,
    125, 124, 136, 114, 149, 123, 130, 123, 146, 120, 136, 107, 142,
    126, 163, 136, 151, 129, 140, 133, 141, 125, 137, 115, 118, 97, 121,
    103, 129, 112, 131, 117, 125, 111, 125, 104, 127, 123, 154, 147,
    151, 133, 139, 117, 134, 117, 139, 117, 129, 104, 117, 111, 122,
    113, 122, 114, 121, 114, 128, 123, 131, 122, 125, 123, 131, 128
      };

      int tabdurer40[628] = {
  87, 33, 36, 12, 19, 4, 13, 11, 9, 18, 7, 14, 18, 36, 23, 14, 15, 15,
    19, 28, 16, 15, 12, 12, 12, 15, 11, 14, 9, 16, 36, 19, 15, 12, 9,
    14, 8, 14, 13, 11, 9, 9, 11, 11, 12, 12, 10, 13, 12, 14, 13, 11, 11,
    11, 14, 15, 13, 13, 16, 4, 5, 16, 9, 12, 15, 17, 24, 9, 11, 13, 15,
    12, 12, 17, 17, 16, 16, 9, 6, 15, 13, 13, 13, 10, 15, 12, 7, 13, 9,
    13, 12, 31, 31, 14, 14, 12, 12, 14, 14, 14, 14, 20, 18, 11, 12, 39,
    5, 9, 17, 5, 13, 11, 14, 13, 10, 11, 14, 11, 14, 20, 24, 16, 14, 15,
    12, 15, 13, 9, 8, 15, 12, 13, 13, 11, 11, 12, 13, 14, 9, 12, 15, 18,
    4, 20, 16, 16, 17, 12, 17, 21, 13, 15, 19, 11, 14, 16, 31, 15, 22,
    7, 7, 14, 9, 15, 34, 18, 14, 18, 11, 13, 19, 23, 15, 14, 16, 16, 16,
    12, 18, 20, 13, 11, 15, 9, 10, 16, 18, 21, 12, 9, 14, 15, 13, 27,
    21, 10, 5, 15, 25, 19, 7, 6, 16, 13, 32, 12, 11, 11, 13, 14, 15, 19,
    14, 12, 12, 12, 12, 13, 14, 12, 15, 15, 13, 15, 24, 20, 13, 7, 13,
    10, 31, 16, 13, 8, 13, 23, 17, 11, 12, 12, 13, 8, 12, 10, 11, 12,
    12, 12, 12, 12, 13, 16, 3, 11, 14, 8, 11, 13, 14, 14, 12, 18, 17,
    16, 28, 14, 17, 22, 17, 10, 12, 16, 13, 25, 11, 13, 13, 15, 8, 12,
    13, 12, 12, 10, 12, 13, 15, 12, 15, 11, 11, 12, 12, 13, 13, 11, 13,
    14, 13, 11, 7, 11, 8, 13, 14, 12, 14, 12, 14, 26, 15, 15, 31, 13,
    12, 4, 14, 14, 15, 8, 12, 15, 13, 13, 12, 13, 12, 6, 9, 12, 13, 12,
    13, 12, 12, 12, 12, 13, 15, 12, 13, 20, 14, 15, 15, 14, 17, 10, 12,
    11, 13, 13, 14, 12, 15, 13, 16, 11, 12, 16, 11, 13, 12, 12, 11, 11,
    13, 12, 11, 13, 11, 12, 12, 12, 11, 14, 10, 13, 21, 13, 11, 12, 13,
    15, 14, 5, 12, 14, 16, 15, 13, 11, 10, 12, 15, 10, 11, 15, 13, 8,
    12, 11, 19, 2, 9, 17, 12, 6, 13, 12, 13, 15, 12, 8, 14, 15, 14, 14,
    11, 11, 12, 14, 10, 13, 14, 6, 12, 11, 12, 13, 13, 11, 11, 13, 11,
    12, 15, 15, 13, 28, 12, 8, 15, 14, 10, 10, 13, 13, 13, 12, 13, 12,
    7, 11, 14, 13, 16, 42, 14, 11, 11, 13, 14, 12, 13, 14, 9, 10, 14,
    14, 14, 15, 31, 15, 9, 8, 12, 13, 13, 13, 10, 9, 13, 10, 13, 13, 10,
    15, 26, 15, 12, 15, 9, 16, 15, 15, 13, 15, 12, 12, 23, 13, 12, 11,
    12, 11, 12, 12, 12, 10, 11, 12, 8, 11, 10, 13, 10, 12, 11, 12, 13,
    12, 9, 12, 13, 12, 12, 12, 5, 12, 12, 12, 10, 13, 14, 12, 11, 8, 12,
    10, 11, 12, 13, 14, 20, 18, 16, 8, 19, 18, 8, 14, 11, 15, 13, 11,
    15, 9, 12, 15, 15, 16, 7, 11, 15, 34, 35, 30, 12, 8, 14, 13, 10, 12,
    14, 10, 14, 12, 10, 14, 11, 10, 10, 12, 11, 14, 8, 13, 12, 11, 14,
    12, 12, 12, 10, 12, 11, 12, 15, 8, 37, 11, 11, 28, 11, 13, 12, 11,
    13, 12, 10, 14, 12, 10, 12, 10, 12, 10, 12, 10, 15, 9, 12, 14, 12,
    7, 15, 13
      };

// son 41 son "D" API 104
      int tabamplitude41[7] = {
  128, 119, 120, 119, 127, 115, 128
      };

      int tabdurer41[7] = {
  9, 147, 3, 17, 86, 149, 45
      };

// son 42 son "F" API 128
      int tabamplitude42[568] = {
  128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 129, 127,
    128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128,
    127, 128, 127, 129, 126, 129, 128, 129, 128, 129, 128, 129, 127,
    128, 126, 129, 127, 129, 126, 127, 126, 128, 127, 128, 127, 128,
    127, 128, 128, 129, 127, 128, 125, 127, 125, 127, 125, 128, 127,
    128, 126, 128, 126, 128, 126, 128, 126, 128, 127, 129, 127, 129,
    126, 128, 127, 129, 128, 129, 127, 129, 127, 129, 127, 128, 127,
    130, 127, 129, 127, 130, 128, 129, 127, 129, 127, 130, 127, 129,
    126, 129, 127, 129, 127, 128, 125, 128, 127, 129, 125, 129, 124,
    128, 124, 129, 126, 129, 125, 128, 125, 130, 126, 127, 124, 128,
    124, 128, 123, 126, 124, 127, 125, 130, 124, 128, 126, 127, 124,
    127, 125, 126, 125, 128, 125, 129, 124, 128, 126, 129, 126, 128,
    126, 128, 123, 130, 127, 128, 125, 129, 125, 128, 126, 130, 126,
    127, 125, 129, 127, 128, 126, 127, 126, 127, 125, 129, 128, 129,
    127, 130, 125, 128, 126, 132, 124, 128, 124, 132, 121, 132, 124,
    128, 127, 130, 125, 129, 124, 133, 123, 130, 126, 132, 122, 130,
    124, 130, 126, 130, 128, 129, 123, 128, 127, 129, 125, 127, 125,
    126, 124, 129, 125, 126, 125, 129, 125, 129, 124, 128, 120, 131,
    122, 126, 122, 126, 121, 126, 123, 128, 124, 125, 122, 126, 123,
    130, 126, 130, 125, 130, 127, 130, 123, 128, 124, 131, 127, 129,
    125, 129, 124, 132, 126, 135, 124, 134, 128, 133, 129, 134, 131,
    135, 131, 141, 134, 135, 134, 139, 129, 136, 127, 133, 120, 122,
    117, 119, 112, 115, 113, 115, 111, 120, 115, 120, 118, 127, 125,
    128, 126, 129, 127, 136, 132, 140, 134, 139, 132, 140, 130, 139,
    128, 135, 129, 134, 131, 140, 131, 136, 128, 134, 130, 133, 128,
    130, 124, 132, 119, 129, 120, 129, 119, 127, 119, 124, 120, 125,
    118, 129, 121, 126, 122, 126, 124, 125, 122, 132, 123, 126, 123,
    128, 125, 128, 123, 126, 120, 134, 119, 129, 124, 128, 127, 134,
    129, 131, 130, 131, 126, 130, 122, 132, 125, 130, 128, 135, 131,
    137, 127, 138, 128, 138, 126, 132, 130, 133, 128, 137, 131, 133,
    126, 134, 128, 132, 129, 134, 129, 134, 129, 132, 123, 129, 127,
    131, 122, 128, 123, 127, 122, 130, 115, 133, 119, 133, 120, 124,
    122, 133, 124, 127, 121, 132, 124, 133, 116, 134, 127, 136, 127,
    130, 129, 136, 119, 133, 129, 136, 126, 135, 131, 136, 132, 140,
    125, 136, 125, 146, 128, 139, 131, 132, 122, 132, 126, 136, 126,
    133, 123, 132, 128, 133, 125, 135, 124, 130, 124, 129, 126, 128,
    120, 133, 122, 130, 124, 131, 123, 132, 126, 134, 125, 129, 126,
    132, 126, 127, 123, 132, 124, 131, 126, 129, 126, 133, 126, 131,
    125, 130, 127, 131, 125, 133, 128, 131, 126, 139, 129, 132, 128,
    133, 129, 134, 125, 129, 126, 138, 130, 131, 127, 136, 127, 137,
    132, 135, 125, 138, 133, 136, 129, 138, 132, 135, 130, 136, 126,
    129, 124, 135, 130, 136, 129, 136, 132, 133, 130, 136, 126, 134,
    127, 134, 128, 133, 126, 135, 123, 132, 124, 131, 122, 131, 128,
    131, 126, 128, 124, 125, 123, 129, 128
      };

      int tabdurer42[568] = {
  8, 7, 10, 36, 3, 13, 6, 9, 8, 9, 18, 8, 9, 9, 8, 7, 9, 5, 10, 9, 4,
    10, 6, 9, 8, 10, 8, 3, 21, 7, 9, 8, 12, 8, 6, 11, 8, 11, 8, 10, 10,
    7, 9, 10, 8, 13, 15, 7, 21, 26, 9, 7, 11, 23, 18, 9, 4, 15, 11, 15,
    10, 12, 13, 7, 11, 10, 8, 19, 10, 17, 27, 8, 6, 7, 13, 4, 8, 13, 19,
    11, 21, 26, 25, 25, 22, 14, 42, 9, 11, 9, 4, 10, 11, 11, 9, 8, 11,
    19, 8, 9, 9, 18, 11, 10, 7, 12, 14, 7, 7, 24, 5, 9, 10, 7, 7, 8, 9,
    8, 8, 9, 11, 15, 7, 11, 10, 35, 8, 12, 6, 8, 12, 14, 11, 8, 11, 5,
    9, 6, 10, 10, 7, 12, 6, 10, 12, 14, 16, 7, 9, 9, 6, 11, 7, 8, 8, 9,
    14, 12, 7, 8, 11, 9, 6, 6, 8, 11, 20, 12, 10, 11, 8, 6, 12, 8, 9,
    15, 10, 8, 7, 6, 9, 23, 4, 8, 8, 7, 8, 6, 8, 9, 8, 7, 8, 9, 8, 9,
    10, 7, 19, 13, 17, 18, 9, 9, 9, 7, 8, 9, 8, 8, 11, 19, 10, 8, 3, 14,
    10, 5, 9, 10, 9, 6, 8, 7, 9, 10, 7, 5, 8, 7, 10, 8, 8, 8, 9, 10, 9,
    7, 7, 10, 10, 22, 19, 11, 4, 11, 9, 7, 9, 9, 10, 11, 10, 10, 6, 11,
    8, 9, 10, 9, 6, 14, 8, 11, 10, 8, 9, 8, 11, 9, 8, 9, 9, 9, 9, 8, 12,
    12, 10, 5, 9, 11, 8, 10, 8, 10, 7, 9, 8, 21, 9, 9, 5, 20, 20, 14,
    10, 8, 26, 9, 7, 10, 22, 6, 12, 19, 12, 10, 10, 20, 13, 20, 9, 10,
    10, 8, 12, 8, 9, 9, 8, 10, 7, 10, 6, 11, 14, 12, 9, 12, 10, 11, 12,
    16, 9, 9, 10, 7, 8, 10, 16, 10, 9, 7, 9, 8, 6, 6, 9, 11, 8, 19, 9,
    8, 7, 7, 8, 6, 10, 10, 10, 11, 31, 6, 23, 12, 7, 8, 4, 9, 7, 10, 10,
    11, 15, 10, 12, 17, 8, 11, 8, 21, 8, 11, 8, 5, 9, 6, 10, 9, 6, 8, 8,
    9, 9, 5, 10, 7, 9, 10, 7, 34, 15, 6, 9, 9, 9, 10, 10, 11, 9, 10, 8,
    8, 9, 10, 7, 4, 10, 8, 5, 8, 8, 8, 8, 8, 10, 8, 9, 16, 10, 4, 8, 10,
    10, 7, 8, 16, 16, 13, 10, 7, 8, 9, 7, 9, 9, 10, 8, 23, 6, 20, 10, 7,
    10, 33, 8, 8, 11, 6, 8, 8, 10, 12, 10, 12, 23, 12, 10, 10, 11, 9, 8,
    9, 9, 8, 10, 10, 8, 12, 9, 8, 9, 13, 7, 8, 28, 11, 22, 22, 6, 7, 9,
    9, 8, 10, 8, 16, 11, 10, 23, 11, 14, 19, 10, 11, 6, 9, 10, 18, 8, 9,
    8, 7, 12, 13, 7, 7, 10, 10, 8, 9, 6, 9, 12, 11, 7, 9, 10, 10, 8, 7,
    8, 20, 8, 10, 10, 9, 9, 21, 14, 20, 6, 8, 7, 10, 10, 7, 9, 9, 7, 10,
    9, 11, 8, 10, 8, 10, 26, 10, 13, 23, 9, 8, 8, 5, 12, 4
      };

// son 43 son "G" API 110
      int tabamplitude43[18] = {
  131, 124, 137, 108, 153, 137, 141, 87, 168, 82, 175, 71, 174, 78, 173,
    142, 163, 128
      };

      int tabdurer43[18] = {
  28, 33, 42, 46, 56, 130, 34, 62, 49, 54, 58, 52, 51, 49, 52, 39, 41,
    49
      };

// son 44 son "H" API 146
      int tabamplitude44[691] = {
  128, 126, 128, 126, 128, 125, 128, 126, 126, 125, 128, 124, 127, 125,
    127, 124, 126, 122, 128, 122, 127, 121, 129, 118, 128, 124, 130,
    121, 126, 120, 127, 124, 132, 125, 127, 119, 132, 124, 131, 126,
    133, 117, 132, 123, 131, 129, 132, 120, 131, 123, 138, 120, 133,
    119, 131, 126, 137, 128, 133, 121, 130, 125, 135, 134, 136, 133,
    135, 120, 129, 122, 137, 129, 135, 133, 137, 125, 130, 127, 133,
    122, 135, 131, 138, 135, 136, 130, 137, 121, 131, 125, 148, 121,
    141, 123, 144, 121, 136, 120, 145, 130, 144, 115, 145, 118, 141,
    135, 149, 133, 139, 111, 132, 129, 154, 126, 135, 124, 145, 128,
    152, 117, 144, 121, 137, 129, 141, 135, 150, 118, 132, 131, 136,
    131, 159, 119, 144, 115, 138, 128, 139, 120, 138, 114, 137, 129,
    130, 128, 134, 118, 132, 111, 146, 120, 137, 113, 140, 99, 145, 115,
    146, 123, 126, 116, 125, 114, 150, 129, 148, 110, 121, 106, 135,
    128, 131, 127, 153, 96, 146, 90, 143, 137, 138, 116, 138, 93, 133,
    126, 145, 126, 143, 107, 140, 119, 138, 114, 133, 111, 152, 133,
    139, 109, 149, 124, 139, 133, 153, 113, 154, 112, 177, 104, 154,
    121, 155, 117, 146, 122, 154, 120, 138, 121, 157, 125, 138, 136,
    148, 102, 140, 130, 168, 113, 136, 116, 150, 110, 141, 107, 135,
    116, 158, 113, 143, 99, 130, 117, 128, 87, 147, 118, 150, 86, 139,
    83, 142, 108, 165, 82, 142, 98, 142, 128, 144, 98, 119, 112, 123,
    117, 132, 111, 146, 97, 146, 92, 149, 103, 140, 100, 142, 99, 147,
    110, 142, 108, 135, 106, 134, 102, 153, 113, 141, 117, 147, 101,
    129, 111, 138, 122, 150, 107, 154, 117, 135, 128, 146, 107, 140,
    117, 131, 107, 133, 128, 152, 151, 166, 99, 130, 93, 141, 140, 170,
    122, 128, 103, 113, 110, 166, 155, 165, 92, 112, 101, 177, 121, 182,
    104, 105, 85, 167, 124, 187, 98, 128, 71, 185, 121, 194, 92, 132,
    106, 175, 118, 167, 115, 129, 114, 158, 136, 167, 143, 140, 122,
    129, 100, 138, 125, 168, 133, 152, 125, 149, 116, 167, 130, 155,
    118, 145, 123, 171, 123, 163, 87, 139, 124, 162, 112, 174, 105, 139,
    85, 152, 97, 179, 122, 152, 94, 163, 90, 169, 100, 158, 102, 151,
    107, 159, 111, 141, 75, 140, 91, 176, 115, 167, 90, 137, 97, 151,
    85, 149, 96, 166, 127, 126, 98, 138, 123, 151, 98, 110, 105, 149,
    133, 148, 115, 120, 103, 117, 110, 114, 111, 137, 118, 130, 112,
    145, 122, 129, 99, 115, 107, 141, 134, 153, 115, 139, 121, 125, 113,
    142, 125, 176, 126, 139, 101, 133, 131, 160, 143, 150, 113, 145,
    121, 135, 112, 131, 125, 153, 126, 162, 97, 132, 100, 126, 118, 170,
    115, 143, 112, 131, 105, 121, 110, 136, 125, 153, 124, 127, 126,
    131, 128, 132, 102, 124, 93, 133, 121, 155, 79, 106, 73, 157, 143,
    157, 60, 161, 82, 114, 105, 156, 74, 114, 112, 178, 154, 174, 102,
    110, 73, 183, 79, 78, 74, 134, 118, 162, 127, 127, 104, 120, 109,
    157, 74, 165, 138, 141, 113, 128, 118, 147, 141, 163, 106, 155, 136,
    149, 114, 120, 109, 116, 115, 143, 118, 128, 117, 123, 120, 126,
    126, 139, 114, 149, 146, 149, 124, 126, 113, 125, 124, 139, 134,
    134, 118, 135, 121, 126, 113, 148, 147, 155, 101, 102, 91, 125, 120,
    146, 106, 116, 113, 134, 131, 141, 121, 151, 139, 139, 94, 161, 152,
    155, 99, 155, 101, 147, 98, 129, 128, 144, 125, 129, 115, 122, 117,
    125, 120, 126, 115, 131, 128, 128, 107, 123, 122, 133, 122, 145,
    124, 130, 116, 142, 140, 142, 140, 144, 134, 142, 134, 148, 122,
    141, 140, 144, 123, 127, 107, 136, 95, 131, 110, 111, 109, 124, 118,
    139, 127, 129, 127, 128, 127, 129, 128, 131, 129, 132, 131, 132,
    130, 131, 125, 128, 127, 128, 123, 126, 125, 126, 125, 127, 126,
    127, 126, 127, 126, 128
      };

      int tabdurer44[691] = {
  9, 25, 9, 8, 7, 8, 8, 9, 6, 11, 7, 7, 6, 6, 6, 5, 5, 7, 15, 7, 6, 7,
    5, 8, 8, 6, 8, 8, 9, 9, 7, 6, 8, 14, 6, 7, 8, 9, 9, 6, 6, 7, 7, 6,
    7, 5, 3, 8, 6, 6, 7, 9, 9, 8, 8, 6, 10, 9, 6, 9, 8, 9, 9, 5, 5, 6,
    4, 8, 10, 8, 8, 7, 7, 4, 5, 7, 6, 4, 7, 7, 8, 6, 7, 6, 3, 8, 6, 7,
    7, 6, 13, 8, 6, 7, 9, 11, 7, 6, 10, 9, 6, 7, 7, 6, 7, 5, 5, 7, 4, 7,
    8, 2, 8, 7, 5, 6, 6, 7, 6, 7, 7, 7, 6, 5, 6, 5, 6, 7, 8, 3, 5, 4, 7,
    8, 6, 7, 9, 14, 7, 7, 7, 7, 8, 7, 3, 4, 6, 7, 6, 7, 9, 7, 8, 9, 9,
    8, 8, 6, 8, 9, 7, 8, 8, 8, 10, 6, 6, 8, 5, 6, 7, 6, 4, 3, 7, 7, 7,
    7, 9, 5, 5, 18, 8, 8, 8, 4, 8, 12, 7, 7, 8, 7, 13, 8, 6, 7, 11, 16,
    5, 9, 21, 9, 8, 5, 8, 10, 8, 7, 7, 8, 7, 8, 8, 8, 8, 7, 9, 11, 6, 6,
    8, 8, 9, 4, 7, 10, 10, 5, 9, 8, 6, 7, 9, 11, 7, 8, 9, 7, 9, 7, 6, 8,
    8, 8, 6, 8, 8, 6, 9, 11, 7, 7, 8, 9, 8, 8, 7, 7, 14, 6, 5, 8, 6, 4,
    6, 4, 6, 5, 6, 6, 7, 6, 6, 6, 5, 6, 6, 6, 7, 6, 6, 7, 8, 10, 12, 7,
    7, 7, 6, 6, 6, 7, 6, 6, 9, 8, 7, 7, 7, 7, 5, 5, 5, 7, 7, 6, 5, 7, 7,
    4, 8, 2, 6, 8, 6, 7, 8, 3, 7, 8, 4, 8, 6, 3, 10, 6, 5, 17, 7, 6, 9,
    8, 7, 12, 5, 9, 9, 6, 7, 15, 7, 7, 8, 7, 7, 10, 7, 9, 11, 7, 7, 8,
    5, 12, 8, 6, 7, 8, 3, 5, 4, 7, 7, 4, 7, 7, 6, 7, 14, 16, 13, 9, 7,
    9, 8, 7, 7, 7, 6, 8, 8, 9, 8, 6, 7, 7, 7, 11, 8, 6, 8, 6, 7, 13, 7,
    7, 8, 9, 8, 7, 7, 7, 10, 9, 7, 8, 8, 7, 9, 7, 7, 9, 10, 7, 7, 8, 8,
    7, 8, 10, 3, 14, 8, 5, 7, 15, 7, 4, 8, 7, 7, 12, 5, 6, 7, 6, 5, 4,
    8, 13, 6, 7, 7, 8, 5, 12, 7, 6, 9, 6, 9, 8, 7, 6, 4, 5, 7, 5, 7, 7,
    4, 7, 8, 2, 7, 6, 4, 7, 7, 7, 6, 12, 9, 5, 12, 7, 7, 8, 6, 8, 13, 4,
    8, 7, 6, 7, 5, 7, 6, 5, 8, 5, 8, 9, 6, 3, 6, 5, 4, 8, 7, 6, 8, 5, 7,
    17, 5, 6, 9, 5, 5, 18, 27, 21, 8, 5, 10, 29, 8, 2, 9, 6, 5, 9, 5, 8,
    23, 21, 3, 4, 8, 5, 8, 9, 3, 14, 7, 5, 17, 20, 22, 10, 4, 9, 7, 7,
    9, 6, 8, 24, 17, 7, 6, 9, 5, 6, 5, 3, 8, 8, 6, 8, 6, 13, 9, 2, 8,
    26, 17, 5, 5, 10, 4, 7, 8, 2, 10, 6, 3, 16, 9, 8, 6, 6, 11, 3, 6,
    20, 3, 6, 9, 4, 8, 30, 7, 4, 9, 5, 8, 14, 19, 7, 3, 16, 21, 7, 3,
    22, 26, 21, 27, 22, 13, 3, 7, 8, 4, 7, 6, 5, 7, 4, 7, 6, 8, 7, 3,
    17, 10, 4, 9, 10, 25, 7, 6, 7, 10, 4, 5, 4, 7, 7, 7, 8, 26, 18, 18,
    5, 5, 19, 6, 18, 23, 22, 23, 15, 4, 6, 10, 6, 26, 8, 7, 5, 6, 5, 5,
    5, 10, 24, 6, 6, 16, 7, 6, 22, 17, 4, 3, 24, 17, 5, 7, 26, 9, 3, 12,
    7, 7, 10, 18
      };


// son 45 son "J" API 137
      int tabamplitude45[721] = {
  128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127,
    128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128,
    127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127,
    128, 127, 128, 126, 128, 126, 128, 126, 128, 126, 128, 126, 128,
    126, 128, 126, 128, 126, 129, 126, 129, 127, 129, 127, 129, 127,
    130, 126, 130, 126, 130, 127, 130, 127, 129, 126, 129, 125, 129,
    126, 129, 126, 128, 126, 128, 126, 127, 126, 128, 126, 128, 126,
    129, 126, 129, 128, 129, 128, 130, 128, 130, 126, 130, 125, 129,
    125, 127, 126, 128, 125, 129, 125, 130, 124, 126, 124, 127, 124,
    128, 124, 129, 127, 130, 128, 130, 128, 131, 129, 131, 129, 130,
    124, 127, 124, 127, 124, 125, 124, 125, 124, 126, 124, 126, 124,
    130, 126, 131, 127, 132, 129, 132, 127, 132, 127, 131, 125, 128,
    123, 129, 122, 129, 122, 130, 122, 127, 122, 125, 122, 126, 122,
    126, 123, 126, 122, 133, 127, 133, 129, 133, 129, 134, 127, 134,
    126, 133, 125, 133, 124, 132, 124, 129, 123, 128, 123, 128, 123,
    129, 121, 124, 121, 124, 122, 124, 123, 125, 121, 132, 124, 133,
    131, 133, 132, 133, 132, 134, 131, 135, 128, 134, 123, 132, 123,
    130, 123, 130, 122, 129, 120, 128, 122, 123, 121, 130, 122, 132,
    121, 134, 123, 134, 128, 135, 130, 135, 131, 135, 132, 135, 132,
    135, 131, 135, 121, 133, 119, 130, 121, 126, 120, 123, 119, 127,
    119, 129, 121, 133, 130, 134, 127, 136, 127, 136, 132, 136, 132,
    137, 127, 137, 125, 135, 121, 133, 119, 135, 119, 134, 118, 127,
    118, 123, 119, 122, 119, 122, 119, 123, 118, 133, 117, 134, 124,
    133, 124, 137, 120, 139, 122, 138, 126, 138, 128, 137, 119, 134,
    118, 129, 118, 123, 119, 122, 119, 120, 119, 120, 119, 121, 118,
    124, 117, 133, 119, 128, 120, 137, 127, 138, 129, 138, 134, 138,
    134, 138, 133, 139, 122, 129, 118, 136, 117, 130, 117, 120, 118,
    120, 118, 120, 118, 120, 118, 128, 118, 140, 127, 138, 135, 138,
    135, 138, 135, 138, 134, 139, 129, 135, 117, 124, 118, 120, 118,
    120, 117, 120, 116, 120, 116, 121, 115, 122, 113, 133, 115, 136,
    122, 136, 124, 136, 127, 139, 125, 139, 133, 138, 136, 140, 130,
    140, 119, 133, 120, 123, 119, 134, 116, 135, 116, 119, 116, 128,
    115, 134, 115, 132, 123, 126, 123, 137, 119, 141, 121, 142, 135,
    140, 137, 139, 130, 140, 137, 138, 136, 140, 115, 140, 115, 139,
    117, 134, 115, 137, 113, 136, 113, 132, 115, 128, 116, 136, 117,
    140, 114, 141, 117, 142, 120, 146, 132, 144, 134, 143, 135, 142,
    131, 139, 111, 138, 110, 133, 114, 130, 113, 119, 114, 119, 114,
    130, 118, 143, 110, 142, 137, 142, 136, 143, 136, 143, 136, 144,
    120, 144, 111, 141, 114, 141, 110, 136, 109, 134, 114, 127, 112,
    141, 115, 142, 121, 144, 137, 142, 131, 144, 123, 145, 136, 146,
    124, 142, 115, 136, 116, 138, 119, 141, 116, 139, 107, 121, 110,
    120, 110, 134, 110, 137, 110, 140, 114, 148, 127, 146, 135, 146,
    135, 146, 135, 147, 128, 145, 110, 124, 110, 131, 114, 134, 111,
    118, 111, 117, 111, 117, 110, 118, 109, 119, 106, 138, 109, 140,
    115, 141, 127, 143, 139, 146, 123, 136, 112, 115, 111, 133, 115,
    138, 113, 134, 107, 117, 110, 116, 112, 114, 111, 132, 116, 148,
    138, 146, 139, 145, 140, 145, 140, 144, 108, 117, 109, 148, 117,
    132, 110, 113, 111, 114, 109, 127, 111, 143, 117, 149, 139, 146,
    140, 145, 141, 146, 110, 114, 111, 114, 110, 145, 108, 115, 109,
    114, 109, 114, 109, 115, 109, 116, 106, 138, 118, 148, 140, 145,
    142, 146, 140, 144, 109, 113, 110, 117, 110, 145, 123, 135, 112,
    117, 110, 115, 110, 114, 111, 114, 113, 115, 110, 144, 133, 146,
    142, 145, 118, 121, 106, 148, 133, 138, 109, 113, 111, 112, 110,
    114, 109, 128, 123, 147, 142, 147, 142, 149, 110, 112, 109, 145,
    143, 145, 111, 111, 108, 119, 112, 119, 113, 145, 144, 145, 144,
    147, 107, 113, 107, 128
      };

      int tabdurer45[721] = {
  8, 4, 3, 3, 3, 2, 14, 7, 17, 4, 26, 3, 4, 3, 3, 3, 4, 3, 4, 19, 11,
    15, 12, 15, 11, 81, 7, 23, 15, 13, 16, 7, 18, 5, 17, 8, 16, 8, 15,
    9, 14, 11, 12, 8, 16, 8, 15, 8, 15, 9, 15, 10, 11, 12, 9, 13, 13,
    11, 9, 14, 11, 13, 10, 11, 12, 12, 9, 12, 12, 12, 12, 12, 10, 14,
    11, 12, 11, 9, 14, 13, 9, 14, 13, 11, 8, 16, 8, 12, 10, 14, 10, 12,
    11, 13, 31, 12, 13, 11, 24, 13, 12, 12, 14, 11, 14, 12, 9, 13, 9,
    11, 14, 12, 10, 15, 14, 7, 34, 10, 14, 12, 18, 13, 17, 17, 13, 11,
    17, 10, 15, 14, 15, 51, 16, 12, 15, 15, 13, 29, 10, 7, 15, 14, 27,
    7, 18, 12, 12, 12, 15, 11, 15, 22, 13, 13, 12, 14, 8, 13, 10, 13,
    12, 12, 12, 14, 10, 13, 11, 11, 9, 13, 11, 10, 10, 12, 12, 13, 12,
    10, 13, 10, 10, 12, 12, 13, 12, 11, 12, 12, 12, 14, 9, 12, 13, 10,
    13, 12, 12, 16, 13, 10, 15, 12, 15, 8, 6, 15, 16, 15, 22, 11, 17,
    13, 11, 11, 9, 12, 9, 13, 12, 14, 12, 14, 13, 24, 15, 14, 11, 11,
    14, 15, 7, 6, 14, 13, 12, 11, 14, 11, 13, 12, 13, 10, 13, 9, 13, 12,
    9, 10, 10, 12, 11, 15, 13, 14, 14, 17, 17, 19, 11, 11, 13, 12, 15,
    14, 22, 17, 12, 13, 11, 13, 15, 9, 11, 11, 8, 13, 12, 13, 12, 12,
    11, 11, 12, 14, 12, 12, 12, 13, 9, 13, 11, 10, 10, 9, 11, 10, 14,
    11, 13, 12, 10, 10, 13, 11, 12, 13, 13, 11, 11, 11, 10, 14, 12, 13,
    10, 14, 12, 11, 10, 12, 12, 8, 12, 9, 9, 9, 12, 11, 14, 13, 12, 14,
    26, 13, 14, 12, 13, 12, 9, 12, 10, 12, 9, 18, 16, 20, 14, 15, 12,
    15, 12, 27, 11, 12, 10, 9, 10, 10, 13, 11, 15, 13, 14, 11, 9, 11,
    11, 11, 11, 9, 11, 13, 9, 17, 11, 14, 9, 12, 7, 11, 11, 11, 12, 11,
    10, 11, 11, 11, 12, 13, 13, 11, 11, 12, 12, 10, 11, 13, 14, 9, 13,
    9, 8, 12, 12, 12, 12, 13, 10, 9, 12, 12, 13, 15, 9, 8, 12, 11, 13,
    12, 13, 11, 10, 8, 13, 12, 12, 13, 14, 11, 9, 12, 8, 12, 13, 15, 3,
    7, 11, 14, 13, 13, 11, 12, 12, 11, 12, 12, 12, 11, 12, 12, 11, 9,
    13, 10, 13, 12, 12, 11, 13, 11, 13, 11, 11, 12, 11, 11, 10, 12, 9,
    15, 12, 14, 14, 13, 16, 20, 11, 14, 13, 14, 18, 13, 15, 15, 31, 14,
    10, 11, 12, 11, 11, 11, 10, 14, 12, 14, 13, 15, 20, 16, 13, 13, 13,
    13, 13, 23, 16, 12, 14, 13, 12, 10, 9, 12, 11, 13, 12, 11, 9, 14,
    10, 14, 11, 12, 11, 12, 11, 12, 12, 13, 11, 11, 10, 10, 12, 13, 11,
    13, 12, 12, 12, 12, 12, 10, 11, 11, 11, 11, 11, 12, 11, 15, 9, 12,
    13, 10, 13, 15, 9, 11, 9, 13, 10, 11, 10, 11, 12, 9, 14, 13, 13, 12,
    13, 13, 18, 19, 10, 16, 11, 15, 10, 7, 14, 12, 12, 14, 12, 14, 12,
    11, 10, 15, 16, 16, 16, 12, 17, 12, 10, 12, 12, 12, 10, 11, 9, 17,
    13, 11, 30, 17, 14, 18, 21, 12, 13, 10, 13, 13, 14, 13, 15, 13, 11,
    11, 12, 11, 9, 21, 10, 15, 12, 12, 19, 18, 13, 10, 13, 10, 12, 11,
    11, 13, 11, 11, 16, 12, 15, 12, 12, 10, 8, 13, 9, 19, 8, 11, 10, 10,
    15, 14, 11, 16, 8, 13, 10, 13, 12, 12, 8, 10, 9, 8, 20, 11, 16, 11,
    21, 22, 8, 14, 52, 15, 10, 18, 11, 14, 9, 9, 12, 10, 22, 11, 20, 12,
    12, 11, 11, 29, 11, 14, 38, 7, 10, 26, 6, 7, 18, 11, 15, 19, 51, 10,
    11, 6, 10, 22, 14, 12, 23
      };


// son 46 son "L" API 181
      int tabamplitude46[90] = {
  130, 125, 126, 126, 137, 116, 128, 122, 150, 98, 148, 112, 141, 118,
    133, 121, 132, 131, 131, 118, 136, 132, 149, 105, 145, 105, 140,
    130, 166, 80, 164, 93, 146, 110, 178, 69, 175, 77, 157, 106, 189,
    55, 184, 74, 163, 100, 194, 50, 190, 67, 171, 95, 199, 45, 194, 64,
    176, 88, 203, 39, 202, 57, 181, 78, 207, 36, 206, 55, 184, 70, 207,
    32, 208, 50, 186, 65, 204, 33, 205, 57, 172, 75, 195, 39, 209, 58,
    157, 105, 141, 128
      };

      int tabdurer46[90] = {
  48, 100, 5, 38, 106, 48, 50, 42, 69, 44, 45, 48, 45, 44, 45, 42, 36,
    5, 5, 35, 61, 20, 30, 45, 50, 46, 47, 31, 41, 45, 48, 46, 52, 35,
    55, 44, 49, 49, 43, 41, 48, 44, 46, 51, 42, 39, 51, 42, 48, 49, 43,
    39, 49, 43, 47, 48, 42, 40, 49, 44, 44, 46, 47, 37, 49, 44, 44, 47,
    45, 37, 53, 43, 45, 45, 44, 37, 53, 45, 42, 43, 41, 40, 55, 45, 35,
    34, 35, 32, 63, 3
      };

// son 47 son "M" API 114
      int tabamplitude47[62] = {
  129, 126, 136, 121, 144, 118, 144, 119, 143, 116, 149, 114, 143, 115,
    142, 115, 146, 114, 143, 113, 147, 116, 147, 113, 114, 113, 148,
    115, 147, 114, 147, 112, 148, 115, 148, 112, 148, 111, 150, 113,
    122, 121, 151, 109, 151, 110, 154, 107, 154, 109, 125, 124, 157,
    107, 115, 114, 124, 123, 125, 124, 167, 128
      };

      int tabdurer47[62] = {
  207, 79, 158, 188, 129, 131, 220, 124, 216, 207, 131, 131, 228, 154,
    206, 117, 238, 135, 227, 134, 212, 152, 196, 129, 10, 23, 183, 132,
    222, 122, 220, 123, 229, 117, 234, 124, 220, 117, 228, 113, 72, 7,
    145, 114, 226, 106, 224, 115, 211, 119, 100, 9, 105, 112, 30, 6, 40,
    21, 21, 18, 66, 53
      };

// son 48 son "N" API 116
      int tabamplitude48[87] = {
  128, 127, 128, 127, 128, 127, 128, 127, 129, 127, 128, 127, 129, 126,
    130, 126, 130, 126, 130, 129, 131, 125, 132, 125, 132, 124, 131,
    130, 132, 124, 131, 130, 132, 123, 133, 123, 135, 122, 136, 120,
    137, 120, 138, 120, 120, 119, 139, 119, 140, 117, 140, 117, 137,
    137, 144, 118, 145, 115, 146, 116, 149, 113, 148, 113, 152, 113,
    151, 110, 111, 110, 154, 110, 157, 108, 158, 105, 161, 106, 165,
    103, 166, 100, 172, 92, 95, 79, 128
      };

      int tabdurer48[87] = {
  130, 3, 138, 85, 138, 138, 27, 99, 90, 178, 28, 81, 125, 117, 253,
    136, 263, 158, 137, 33, 41, 125, 254, 170, 211, 170, 135, 33, 44,
    158, 148, 23, 44, 165, 207, 133, 238, 118, 245, 127, 248, 113, 249,
    84, 27, 9, 249, 125, 247, 123, 237, 77, 223, 16, 36, 128, 222, 126,
    231, 124, 222, 116, 236, 114, 232, 113, 233, 100, 4, 23, 211, 130,
    211, 125, 206, 108, 220, 108, 215, 126, 191, 116, 200, 115, 20, 26,
    60
      };

// son 49 son "P" API 101
      int tabamplitude49[5] = {
  131, 111, 144, 125, 128
      };

      int tabdurer49[5] = {
  9, 67, 88, 169, 7
      };

// son 50 son "Q" API 111
      int tabamplitude50[121] = {
  133, 127, 129, 123, 126, 112, 153, 59, 91, 88, 178, 146, 171, 78, 139,
    120, 175, 27, 157, 62, 241, 112, 126, 38, 134, 115, 214, 112, 127,
    76, 148, 125, 179, 102, 124, 60, 137, 118, 206, 44, 75, 65, 196,
    179, 184, 55, 191, 131, 140, 110, 133, 79, 172, 145, 195, 108, 130,
    91, 189, 69, 137, 113, 193, 113, 176, 55, 129, 122, 193, 150, 152,
    98, 120, 113, 178, 127, 138, 79, 163, 78, 196, 99, 173, 75, 164, 91,
    143, 77, 129, 88, 152, 146, 167, 104, 139, 131, 164, 106, 135, 121,
    173, 136, 141, 120, 139, 123, 134, 102, 138, 122, 146, 129, 144,
    104, 121, 119, 142, 120, 121, 119, 128
      };

      int tabdurer50[121] = {
  9, 6, 3, 7, 4, 5, 7, 8, 7, 2, 8, 6, 5, 7, 6, 4, 6, 7, 7, 6, 7, 8, 3,
    7, 8, 4, 8, 9, 4, 7, 8, 4, 7, 7, 5, 6, 8, 4, 7, 8, 6, 3, 10, 5, 3,
    10, 15, 8, 4, 6, 5, 6, 8, 4, 6, 8, 4, 6, 17, 16, 7, 5, 7, 6, 6, 7,
    7, 4, 7, 8, 3, 9, 6, 5, 8, 7, 3, 7, 6, 6, 7, 6, 6, 6, 6, 7, 5, 6, 6,
    6, 8, 4, 5, 17, 8, 5, 7, 19, 7, 5, 8, 8, 4, 9, 20, 8, 4, 7, 8, 5, 6,
    6, 5, 8, 7, 4, 15, 9, 4, 4, 5
      };

// son 51 son "R" API 124
      int tabamplitude51[249] = {
  124, 123, 128, 127, 128, 127, 132, 130, 131, 130, 132, 131, 132, 125,
    130, 125, 130, 120, 130, 123, 136, 130, 131, 130, 134, 127, 129,
    125, 133, 120, 124, 124, 124, 123, 124, 123, 124, 123, 125, 121,
    124, 122, 128, 127, 130, 129, 135, 128, 130, 129, 141, 132, 134,
    118, 128, 127, 128, 113, 115, 112, 131, 119, 120, 116, 134, 131,
    139, 118, 136, 135, 136, 132, 139, 138, 141, 139, 153, 119, 135,
    129, 137, 111, 115, 109, 119, 118, 127, 113, 129, 128, 131, 130,
    139, 120, 120, 119, 122, 117, 148, 143, 149, 142, 143, 139, 146,
    137, 141, 119, 131, 119, 124, 104, 107, 102, 111, 107, 131, 126,
    129, 103, 121, 117, 130, 115, 162, 148, 151, 131, 160, 107, 141, 98,
    131, 99, 106, 104, 130, 125, 131, 127, 164, 148, 153, 136, 157, 132,
    136, 113, 133, 123, 132, 127, 128, 113, 124, 121, 122, 114, 117,
    105, 106, 101, 124, 122, 127, 126, 132, 114, 119, 118, 130, 129,
    149, 148, 149, 138, 140, 129, 134, 129, 132, 118, 126, 123, 150,
    135, 139, 115, 127, 126, 128, 123, 133, 117, 119, 117, 125, 121,
    125, 124, 125, 122, 129, 120, 122, 112, 112, 105, 108, 107, 112,
    112, 125, 121, 133, 131, 148, 134, 136, 125, 141, 133, 153, 119,
    121, 112, 137, 121, 122, 114, 131, 124, 126, 96, 116, 114, 124, 107,
    164, 128, 146, 131, 136, 116, 125, 124, 126, 124, 128
      };

      int tabdurer51[249] = {
  3, 5, 19, 14, 9, 2, 48, 16, 4, 7, 11, 11, 4, 33, 30, 29, 27, 41, 36,
    32, 48, 39, 3, 9, 15, 23, 6, 9, 23, 45, 13, 7, 6, 5, 8, 3, 6, 8, 12,
    18, 16, 7, 31, 8, 14, 9, 23, 14, 7, 5, 30, 21, 6, 17, 29, 3, 16, 12,
    8, 10, 26, 18, 6, 13, 25, 7, 9, 29, 32, 5, 5, 10, 21, 3, 9, 5, 13,
    45, 15, 9, 14, 20, 8, 15, 20, 6, 15, 16, 11, 4, 13, 6, 8, 22, 4, 5,
    6, 7, 49, 9, 8, 7, 6, 8, 14, 10, 9, 25, 12, 9, 9, 26, 7, 8, 10, 7,
    26, 13, 6, 19, 18, 9, 14, 18, 40, 18, 6, 13, 27, 33, 40, 40, 29, 38,
    9, 4, 48, 9, 9, 8, 26, 10, 6, 15, 21, 14, 9, 20, 14, 9, 11, 10, 5,
    16, 22, 14, 5, 14, 7, 9, 3, 8, 18, 5, 7, 2, 12, 20, 7, 5, 8, 3, 21,
    5, 3, 11, 6, 14, 7, 14, 6, 8, 8, 9, 27, 13, 5, 11, 16, 4, 6, 7, 12,
    12, 5, 6, 9, 6, 7, 4, 5, 5, 7, 8, 3, 10, 3, 7, 7, 2, 9, 3, 8, 5, 18,
    8, 25, 11, 7, 13, 20, 9, 18, 28, 4, 10, 22, 20, 5, 19, 10, 13, 8,
    20, 19, 9, 13, 14, 46, 41, 16, 20, 7, 13, 11, 6, 6, 7, 2
      };

// son 52 son "S" API 132
      int tabamplitude52[842] = {
  128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127,
    128, 126, 128, 127, 128, 127, 128, 127, 128, 125, 128, 125, 128,
    125, 128, 126, 128, 126, 128, 126, 128, 126, 128, 126, 128, 126,
    127, 126, 128, 126, 128, 126, 129, 126, 129, 126, 129, 127, 129,
    127, 129, 128, 129, 127, 129, 127, 129, 128, 129, 127, 129, 127,
    130, 127, 130, 127, 130, 128, 131, 128, 132, 126, 132, 127, 132,
    128, 132, 127, 132, 128, 133, 128, 133, 127, 132, 127, 131, 126,
    132, 127, 132, 128, 133, 128, 132, 128, 132, 129, 130, 129, 130,
    128, 130, 129, 131, 128, 131, 128, 132, 127, 131, 128, 129, 128,
    130, 126, 130, 127, 130, 127, 129, 127, 129, 126, 129, 126, 129,
    125, 129, 125, 129, 125, 130, 124, 130, 126, 128, 126, 128, 125,
    130, 123, 131, 124, 129, 125, 128, 126, 127, 126, 128, 125, 128,
    125, 128, 125, 128, 125, 128, 124, 127, 125, 128, 125, 129, 123,
    130, 121, 129, 122, 130, 122, 131, 122, 131, 122, 130, 123, 130,
    124, 128, 124, 128, 124, 127, 124, 129, 123, 129, 123, 128, 124,
    127, 126, 126, 124, 129, 123, 128, 125, 129, 126, 130, 126, 128,
    127, 130, 125, 131, 124, 131, 123, 132, 120, 133, 121, 132, 122,
    133, 123, 132, 124, 130, 127, 130, 125, 134, 123, 133, 124, 130,
    127, 131, 126, 132, 126, 131, 127, 131, 127, 131, 126, 133, 124,
    133, 124, 132, 126, 130, 125, 132, 125, 131, 126, 132, 123, 134,
    122, 132, 124, 134, 127, 130, 128, 129, 126, 133, 125, 130, 126,
    132, 125, 131, 121, 134, 123, 133, 122, 134, 122, 132, 123, 132,
    124, 131, 122, 128, 122, 127, 123, 127, 123, 127, 124, 128, 123,
    126, 123, 127, 123, 127, 123, 127, 120, 128, 121, 127, 121, 128,
    121, 128, 121, 129, 122, 129, 122, 130, 122, 129, 123, 129, 122,
    129, 120, 129, 120, 128, 120, 131, 120, 132, 121, 130, 121, 127,
    123, 128, 121, 134, 118, 137, 116, 137, 117, 132, 122, 134, 123,
    133, 124, 132, 124, 131, 125, 132, 122, 127, 125, 127, 121, 132,
    119, 135, 118, 140, 117, 136, 114, 139, 117, 137, 116, 133, 120,
    131, 122, 131, 121, 131, 120, 132, 119, 130, 121, 130, 122, 130,
    123, 129, 126, 130, 126, 124, 121, 131, 122, 132, 123, 132, 124,
    134, 126, 134, 125, 134, 125, 135, 123, 135, 124, 139, 122, 134,
    121, 134, 120, 135, 124, 134, 125, 134, 128, 136, 125, 134, 124,
    135, 123, 137, 120, 134, 122, 132, 128, 128, 125, 130, 129, 131,
    127, 129, 128, 131, 128, 132, 128, 129, 125, 131, 122, 131, 123,
    136, 124, 134, 124, 131, 125, 129, 126, 130, 124, 129, 126, 128,
    124, 129, 120, 136, 115, 137, 113, 138, 118, 133, 122, 131, 124,
    130, 120, 132, 118, 135, 122, 132, 120, 133, 122, 129, 123, 130,
    122, 136, 115, 137, 116, 136, 115, 132, 116, 130, 119, 127, 121,
    127, 121, 132, 118, 134, 118, 134, 111, 131, 122, 124, 124, 132,
    123, 133, 123, 128, 125, 129, 123, 128, 121, 133, 116, 133, 115,
    131, 115, 134, 118, 134, 110, 142, 109, 135, 114, 133, 123, 130,
    124, 127, 126, 134, 121, 132, 121, 127, 125, 126, 124, 128, 124,
    123, 121, 125, 121, 126, 119, 121, 122, 124, 122, 130, 122, 124,
    125, 128, 125, 130, 118, 132, 116, 136, 116, 134, 122, 131, 122,
    132, 116, 136, 118, 135, 121, 136, 115, 141, 117, 141, 114, 142,
    111, 142, 114, 139, 113, 138, 122, 135, 113, 138, 119, 135, 127,
    128, 127, 129, 131, 135, 121, 141, 118, 138, 121, 133, 134, 137,
    122, 138, 123, 139, 122, 136, 133, 134, 127, 126, 129, 129, 125,
    132, 118, 137, 116, 138, 113, 136, 119, 137, 123, 129, 122, 128,
    128, 126, 119, 135, 120, 131, 122, 132, 120, 136, 117, 133, 114,
    131, 121, 132, 118, 135, 116, 139, 116, 139, 116, 135, 122, 131,
    120, 136, 111, 145, 114, 139, 114, 140, 118, 133, 121, 139, 119,
    136, 119, 139, 114, 142, 108, 142, 110, 148, 116, 145, 117, 140,
    123, 134, 115, 128, 123, 135, 114, 142, 112, 146, 115, 143, 120,
    144, 106, 144, 112, 138, 121, 136, 118, 128, 129, 131, 122, 133,
    122, 133, 131, 130, 127, 129, 123, 125, 118, 128, 118, 131, 121,
    133, 121, 135, 128, 130, 126, 132, 124, 132, 118, 133, 123, 140,
    114, 134, 118, 140, 116, 141, 113, 140, 122, 139, 127, 139, 128,
    138, 130, 132, 128, 131, 125, 136, 127, 136, 124, 143, 127, 146,
    122, 148, 117, 156, 113, 147, 110, 147, 109, 145, 112, 136, 115,
    141, 112, 136, 113, 134, 112, 137, 122, 132, 127, 130, 127, 132,
    129, 134, 124, 129, 121, 124, 117, 123, 114, 124, 120, 125, 111,
    125, 117, 129, 122, 126, 120, 127, 121, 125, 122, 125, 114, 121,
    118, 123, 117, 124, 122, 127, 125, 129, 128
      };

      int tabdurer52[842] = {
  4, 3, 3, 3, 4, 4, 4, 3, 4, 9, 11, 7, 3, 8, 4, 17, 8, 4, 6, 6, 5, 6, 5,
    4, 8, 4, 7, 5, 7, 6, 5, 6, 5, 6, 6, 3, 7, 6, 6, 12, 7, 6, 3, 6, 6,
    5, 4, 7, 5, 5, 7, 5, 5, 5, 6, 6, 6, 11, 6, 3, 9, 5, 6, 19, 8, 6, 6,
    6, 6, 4, 8, 5, 5, 6, 5, 6, 6, 6, 6, 7, 5, 5, 7, 6, 5, 5, 5, 7, 6, 5,
    6, 5, 6, 7, 6, 6, 5, 6, 6, 5, 5, 8, 6, 8, 4, 6, 5, 3, 3, 6, 7, 5, 5,
    6, 5, 6, 7, 4, 6, 7, 5, 8, 4, 8, 4, 14, 3, 6, 4, 9, 4, 6, 5, 6, 5,
    6, 4, 6, 6, 7, 7, 12, 5, 5, 5, 6, 5, 6, 7, 4, 7, 4, 7, 5, 5, 4, 6,
    4, 5, 5, 6, 7, 5, 5, 7, 4, 5, 6, 4, 6, 5, 6, 6, 6, 5, 6, 5, 7, 5, 6,
    6, 6, 5, 8, 5, 6, 6, 5, 6, 4, 5, 6, 4, 6, 7, 3, 4, 2, 3, 2, 5, 5, 7,
    4, 4, 7, 3, 4, 7, 2, 3, 7, 5, 6, 6, 6, 7, 5, 6, 5, 6, 5, 6, 6, 4, 6,
    4, 8, 7, 6, 4, 6, 5, 6, 6, 5, 3, 4, 6, 5, 6, 8, 5, 5, 7, 7, 4, 7, 5,
    5, 5, 5, 7, 4, 6, 4, 8, 6, 3, 8, 6, 5, 6, 6, 5, 5, 7, 2, 3, 7, 3, 5,
    7, 5, 4, 5, 6, 6, 6, 5, 5, 6, 7, 5, 6, 6, 5, 7, 3, 8, 7, 4, 6, 5, 7,
    3, 5, 9, 3, 3, 3, 3, 4, 6, 9, 4, 3, 7, 4, 7, 3, 4, 6, 6, 5, 4, 5, 6,
    4, 5, 4, 5, 7, 6, 5, 6, 7, 5, 6, 4, 9, 4, 8, 5, 6, 4, 7, 3, 8, 3, 3,
    6, 4, 6, 5, 4, 6, 6, 5, 6, 4, 6, 5, 6, 4, 5, 6, 6, 4, 5, 9, 3, 5, 3,
    7, 4, 6, 5, 6, 6, 4, 6, 5, 7, 4, 6, 5, 6, 7, 4, 6, 9, 5, 6, 6, 4, 6,
    4, 6, 5, 7, 3, 3, 3, 3, 3, 3, 2, 6, 4, 6, 4, 4, 6, 5, 4, 6, 4, 8, 7,
    6, 4, 7, 6, 5, 7, 5, 5, 7, 5, 5, 7, 4, 7, 3, 4, 11, 5, 7, 3, 7, 7,
    3, 5, 5, 6, 6, 2, 3, 2, 3, 2, 3, 4, 3, 2, 3, 2, 3, 4, 3, 2, 6, 4, 7,
    4, 7, 5, 5, 5, 5, 4, 6, 3, 3, 4, 3, 4, 3, 3, 11, 4, 5, 6, 6, 5, 6,
    5, 6, 5, 7, 4, 7, 5, 4, 7, 5, 7, 5, 6, 8, 5, 6, 3, 6, 5, 6, 4, 7, 5,
    5, 5, 6, 6, 6, 5, 5, 8, 4, 7, 4, 6, 5, 6, 5, 6, 7, 4, 4, 2, 3, 3,
    10, 6, 5, 2, 3, 2, 3, 3, 4, 7, 4, 7, 7, 4, 7, 8, 3, 8, 4, 6, 5, 5,
    5, 7, 3, 2, 3, 2, 3, 5, 5, 5, 6, 5, 3, 2, 3, 3, 3, 2, 3, 2, 3, 3, 3,
    2, 3, 3, 7, 3, 3, 2, 3, 2, 7, 4, 5, 6, 6, 6, 5, 5, 5, 6, 5, 5, 5, 7,
    5, 6, 6, 5, 6, 6, 5, 6, 6, 5, 6, 5, 5, 6, 6, 5, 6, 5, 6, 6, 6, 4, 3,
    2, 3, 2, 3, 6, 4, 8, 6, 5, 8, 2, 3, 6, 4, 4, 8, 5, 4, 3, 3, 7, 3, 2,
    3, 2, 4, 7, 6, 7, 5, 6, 5, 7, 8, 6, 3, 5, 3, 2, 3, 4, 5, 6, 5, 6, 3,
    6, 5, 6, 5, 6, 5, 7, 9, 6, 5, 6, 6, 5, 6, 5, 7, 4, 7, 8, 7, 5, 7, 6,
    6, 4, 7, 6, 6, 9, 7, 7, 9, 7, 5, 7, 6, 5, 7, 6, 6, 7, 6, 7, 7, 5, 8,
    7, 6, 5, 3, 7, 5, 7, 6, 6, 6, 7, 5, 7, 7, 5, 6, 6, 5, 6, 8, 2, 5, 4,
    5, 6, 5, 2, 5, 2, 3, 4, 4, 5, 5, 4, 7, 4, 5, 6, 6, 6, 3, 4, 5, 6, 4,
    9, 9, 6, 5, 7, 6, 6, 7, 5, 6, 7, 7, 5, 7, 4, 8, 5, 10, 7, 3, 4, 7,
    3, 5, 6, 5, 5, 6, 6, 7, 6, 7, 6, 6, 6, 6, 6, 7, 6, 5, 7, 5, 6, 6, 7,
    6, 6, 6, 7, 7, 6, 5, 4, 5, 5, 6, 4, 4, 7, 5, 9, 3, 7, 5, 6, 8, 6, 5,
    7, 7, 5, 7, 6, 4, 9, 6, 9, 5, 5, 4, 7, 7, 7, 7, 4, 8, 6, 8, 3, 7, 10
      };

      int *tabamp[53] =
  { tabamplitude1, tabamplitude1, tabamplitude2, tabamplitude3,
tabamplitude4, tabamplitude5, tabamplitude6, tabamplitude7, tabamplitude8,
tabamplitude9, tabamplitude10, tabamplitude11, tabamplitude12, tabamplitude13,
tabamplitude14, tabamplitude15, tabamplitude16, tabamplitude17, tabamplitude18,
tabamplitude19, tabamplitude20, tabamplitude21, tabamplitude22, tabamplitude23,
tabamplitude24, tabamplitude25, tabamplitude26, tabamplitude27, tabamplitude28,
tabamplitude29, tabamplitude30, tabamplitude31, tabamplitude32, tabamplitude33,
tabamplitude34, tabamplitude35, tabamplitude36, tabamplitude37, tabamplitude38,
tabamplitude39, tabamplitude40, tabamplitude41, tabamplitude42, tabamplitude43,
tabamplitude44, tabamplitude45, tabamplitude46, tabamplitude47, tabamplitude48,
tabamplitude49, tabamplitude50, tabamplitude51, tabamplitude52 };

      int *tabdur[53] =
  { tabdurer1, tabdurer1, tabdurer2, tabdurer3, tabdurer4, tabdurer5,
tabdurer6, tabdurer7, tabdurer8, tabdurer9, tabdurer10, tabdurer11, tabdurer12,
tabdurer13, tabdurer14, tabdurer15, tabdurer16, tabdurer17, tabdurer18, tabdurer19,
tabdurer20, tabdurer21, tabdurer22, tabdurer23, tabdurer24, tabdurer25, tabdurer26,
tabdurer27, tabdurer28, tabdurer29, tabdurer30, tabdurer31, tabdurer32, tabdurer33,
tabdurer34, tabdurer35, tabdurer36, tabdurer37, tabdurer38, tabdurer39, tabdurer40,
tabdurer41, tabdurer42, tabdurer43, tabdurer44, tabdurer45, tabdurer46, tabdurer47,
tabdurer48, tabdurer49, tabdurer50, tabdurer51, tabdurer52 };

      int pourle15[53] =
  { 83, 83, 82, 16, 11, 10, 6, 6, 6, 6, 6, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 2, 149, 12, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 22, 44, 44, 12, 24, 628, 7,
568, 18, 691, 721, 90, 62, 87, 5, 121, 249, 842 };

      int pass1 = 0;
      int pass2 = 0;

      if (quelpiano15 > 52)
  quelpiano15 = 52;

      for (int positiontab = 0; positiontab < pourle15[quelpiano15];
     positiontab++)
  {

    if (positiontab % 2)
      {
        pass1 =
    tabamp[quelpiano15][positiontab] -
    int (tabamp[quelpiano15][positiontab] * 0.01 * quelpiano12);
        pass2 =
    int (tabdur[quelpiano15][positiontab] * 0.01 * quelpiano13);

      }
    else
      {
        pass1 =
    tabamp[quelpiano15][positiontab] +
    int (tabamp[quelpiano15][positiontab] * 0.01 * quelpiano11);
        pass2 =
    int (tabdur[quelpiano15][positiontab] * 0.01 * quelpiano14);
      }

    if (pass1 < 16)
      pass1 = 16;

    if (pass2 < 3)
      pass2 = 3;

    if (pass1 > 239)
      pass1 = 239;

    if (pass2 > 250)
      pass2 = 250;

    fprintf (fichierjo, "%c%c", (char) (pass1), (char) (pass2));

  }


    }       //fin consonne type tableau
  else
    {

// son 128 le "F" API 126
      int tabamplitude128[27] = {
  135, 121, 125, 132, 134, 104, 123, 125, 131, 127, 133, 128, 130, 126,
    130, 125, 127, 130, 133, 123, 132, 127, 128, 124, 125, 121, 128
      };

      int tabdurer128[27] = {
  3, 4, 6, 7, 7, 4, 5, 6, 5, 6, 3, 4, 5, 5, 7, 8, 3, 10, 3, 7, 7, 2,
    9, 3, 8, 5, 9
      };

// son 129
      int tabamplitude129[27] = {
  114, 124, 120, 125, 111, 125, 117, 129, 122, 126, 120, 127, 121, 125,
    122, 125, 114, 121, 118, 123, 117, 124, 122, 127, 125, 129, 128
      };

      int tabdurer129[27] = {
  11, 11, 28, 11, 13, 12, 11, 13, 12, 10, 14, 12, 10, 12, 10, 12, 10,
    12, 10, 15, 9, 12, 14, 12, 7, 15, 13
      };

      int pass1 = 0;
      int pass2 = 0;

  int antiforce = 1;
  int antiforce1 = 1;

      switch (quelpiano15)
  {

  case 128:


    for (int recommence = 0; recommence < 20; recommence++)
      {

        switch (antiforce)
    {

    case 1:


      for (int positiontab = 0; positiontab < 27; positiontab++)
        {

          if (positiontab % 2)
      {
        pass1 =
          tabamplitude128[positiontab] -
          int (tabamplitude128[positiontab] * 0.01 *
         quelpiano12);
        pass2 =
          int (tabdurer128[positiontab] * 0.01 *
         quelpiano13);

      }
          else
      {
        pass1 =
          tabamplitude128[positiontab] +
          int (tabamplitude128[positiontab] * 0.01 *
         quelpiano11);
        pass2 =
          int (tabdurer128[positiontab] * 0.01 *
         quelpiano14);
      }

          pass2 += antiforce1;
          pass2 -= antiforce1;

          if (pass1 < 16)
      pass1 = 16;

          if (pass2 < 3)
      pass2 = 3;

          if (pass1 > 239)
      pass1 = 239;

          if (pass2 > 250)
      pass2 = 250;

          fprintf (fichierjo, "%c%c", (char) (pass1),
             (char) (pass2));


        }   //fin for positiontab
      antiforce1++;
      if (antiforce1 > 7)
        {
          antiforce1 = 1;
          antiforce = 2;
        }

      break;

    case 2:

      for (int positiontab = 0; positiontab < 27; positiontab++)
        {

          if (positiontab % 2)
      {
        pass1 =
          tabamplitude128[positiontab] -
          int (tabamplitude128[positiontab] * 0.01 *
         quelpiano12);
        pass2 =
          int (tabdurer128[positiontab] * 0.01 *
         quelpiano13);

      }
          else
      {
        pass1 =
          tabamplitude128[positiontab] +
          int (tabamplitude128[positiontab] * 0.01 *
         quelpiano11);
        pass2 =
          int (tabdurer128[positiontab] * 0.01 *
         quelpiano14);
      }

          pass2 -= antiforce1;
          pass1 += antiforce1;

          if (pass1 < 16)
      pass1 = 16;

          if (pass2 < 3)
      pass2 = 3;

          if (pass1 > 239)
      pass1 = 239;

          if (pass2 > 250)
      pass2 = 250;

          fprintf (fichierjo, "%c%c", (char) (pass1),
             (char) (pass2));


        }   //fin for position tab

      antiforce1++;
      if (antiforce1 > 5)
        {
          antiforce1 = 1;
          antiforce = 1;
        }

      break;



    }   //fin antiforce

      }     //fin recommence la forme


    break;

  case 129:


    for (int recommence = 0; recommence < 200; recommence++)
      {


        for (int positiontab = 0; positiontab < 27; positiontab++)
    {

      if (positiontab % 2)
        {
          pass1 =
      tabamplitude129[positiontab] -
      int (tabamplitude129[positiontab] * 0.01 *
           quelpiano12);
          pass2 =
      int (tabdurer129[positiontab] * 0.01 * quelpiano13);

        }
      else
        {
          pass1 =
      tabamplitude129[positiontab] +
      int (tabamplitude129[positiontab] * 0.01 *
           quelpiano11);
          pass2 =
      int (tabdurer129[positiontab] * 0.01 * quelpiano14);
        }

      if (pass1 < 16)
        pass1 = 16;

      if (pass2 < 3)
        pass2 = 3;

      if (pass1 > 239)
        pass1 = 239;

      if (pass2 > 250)
        pass2 = 250;

      fprintf (fichierjo, "%c%c", (char) (pass1), (char) (pass2));
    }
      }     //fin recommence la forme
    break;

  default:

    for (int positiontab = 0; positiontab < 12; positiontab++)
      {

        if (positiontab % 2)
    {
      pass1 =
        tabamplitude128[positiontab] -
        int (tabamplitude128[positiontab] * 0.01 * quelpiano12);
      pass2 = int (tabdurer128[positiontab] * 0.01 * quelpiano13);

    }
        else
    {
      pass1 =
        tabamplitude128[positiontab] +
        int (tabamplitude128[positiontab] * 0.01 * quelpiano11);
      pass2 = int (tabdurer128[positiontab] * 0.01 * quelpiano14);
    }

        if (pass1 < 16)
    pass1 = 16;

        if (pass2 < 3)
    pass2 = 3;

        if (pass1 > 239)
    pass1 = 239;

        if (pass2 > 250)
    pass2 = 250;

        fprintf (fichierjo, "%c%c", (char) (pass1), (char) (pass2));
      }

  }     //fin switch quelpiano15


    }



/****************************************************/
  fclose (fichierjo);

}

// fin de la zone consonnes



Pour les voyelles afin d'alléger le poids des fichiers, j'ai repris la technique des consonnes.
le code actuel, contient des voyelles en pleine refonte car,
si je reprends une forme de base une dizaine d'octets, le son est trop linéaire il manque une loi physique,
si je reprends un son total, ce n'est plus de la modélisation et c'est trop lourds, plus de 400 octets par voyelle.
Je vais essayer de placer dans les tableau une forme intermédiaire ou ajouter une variation inverse dans la forme de base pour corriger,
et ainsi obenir tous les sons de voix humaines d'une manière parfaite.
Actuellement il y a dans les voyelles (variations pourcentage de forme pour passer d'une voyelle à l'autre de même forme. variation du durée pour changer sex, et réglage du modulo (ondulation des formes), il manque une variation interne dans la forme en respectant les équilibres des lois qui diffèrent selon la dimension (nous travaillons ici sur 7 dimensions avec 2 facteurs, jo étant fixe pour réduire le code)

#include "AdnForme56.h"

// Génère les fichiers c.jo
void genereFichierJo56(int piste,int quelpiano,int quelpiano2,int quelpiano3,int quelpiano4,int quelpiano5,int quelpiano6,int quelpiano7,int quelpiano8,int quelpiano9,int quelpiano10,int quelpiano11,int quelpiano12,int quelpiano13,int quelpiano14,int quelpiano15)
{

choixconsonne(piste, quelpiano11, quelpiano12, quelpiano13, quelpiano14, quelpiano15);

  // Nom du fichier jo
  char nomfichierjo[32];
  snprintf(nomfichierjo, 32, "%d.jo", piste);
  // Fichier jo
  FILE* fichierjo;
  if (!(fichierjo = fopen(nomfichierjo, "ab")))
   {
    exit(-1);
   }

// creation de la voyelle "O"
// AdnForme56

  int tabamplitudev1[11] =
    {
211, 109, 116, 80, 176, 118, 153, 128, 136, 19, 128
};
  int tabdurerv1[11] =
    {
23, 47, 10, 30, 41, 33, 33, 30, 14, 45, 26
};

// ex AdnForme57
// son "i" api 301
  int tabamplitudev2[38] =
    {
132, 123, 142, 121, 144, 124, 140, 123, 141, 121, 137, 125, 130, 124, 130, 122, 126, 122, 129, 118, 130, 120, 128, 122, 131, 121, 131, 126, 129, 126, 131, 125, 128, 123, 127, 123, 128, 128

};
  int tabdurerv2[38] =
    {
7, 6, 7, 7, 7, 6, 7, 6, 7, 7, 7, 7, 5, 6, 6, 5, 7, 4, 6, 7, 7, 6, 7, 6, 6, 6, 7, 7, 5, 5, 5, 8, 7, 14, 9, 6, 21, 2
};

// ex AdnForme58
// creation de la voyelle "A" API 304

  int tabamplitudev3[17] =
    {
132, 130, 142, 113, 142, 123, 127, 120, 138, 120, 128, 127, 131, 122, 128, 124, 128
};

  int tabdurerv3[17] =
    {
23, 8, 23, 22, 18, 20, 9, 16, 24, 21, 21, 12, 11, 23, 23, 16, 18
};

// ex AdnForme59
// creation de la voyelle

  int tabamplitudev4[7] =
    {
127, 114, 151, 113, 114, 113, 136
};

  int tabdurerv4[7] =
    {
48, 61, 144, 60, 8, 5, 59
};

// ex AdnForme60
// creation de la voyelle

  int tabamplitudev5[290] =
    {

86, 176, 100, 164, 74, 176, 112, 115, 99, 167, 68, 180, 96, 174, 61, 187, 106, 111, 91, 179, 118, 119, 58, 187, 109, 112, 87, 181, 118, 119, 57, 189, 108, 111, 87, 182, 119, 120, 56, 189, 107, 111, 86, 183, 117, 120, 55, 191, 105, 111, 84, 185, 114, 118, 54, 193, 102, 111, 85, 187, 112, 117, 53, 195, 100, 111, 84, 190, 109, 117, 52, 197, 97, 112, 84, 191, 107, 116, 51, 198, 94, 112, 84, 193, 104, 116, 51, 200, 89, 113, 84, 194, 103, 115, 50, 200, 87, 113, 85, 194, 102, 115, 50, 200, 85, 114, 86, 194, 101, 115, 50, 201, 84, 114, 86, 194, 100, 114, 50, 201, 82, 113, 88, 195, 98, 114, 50, 202, 80, 115, 88, 196, 96, 113, 50, 202, 77, 115, 89, 196, 93, 113, 50, 203, 76, 116, 89, 196, 93, 113, 50, 203, 76, 117, 90, 196, 95, 114, 50, 203, 77, 117, 90, 196, 95, 112, 51, 203, 77, 117, 92, 195, 96, 111, 51, 202, 78, 116, 94, 195, 97, 109, 52, 202, 78, 116, 96, 194, 96, 107, 53, 201, 78, 116, 99, 194, 93, 104, 55, 201, 77, 116, 103, 193, 94, 102, 56, 201, 77, 116, 105, 193, 91, 99, 58, 200, 76, 117, 109, 192, 91, 98, 60, 199, 78, 117, 110, 191, 90, 95, 64, 198, 79, 117, 113, 189, 93, 95, 66, 196, 83, 117, 115, 186, 95, 96, 68, 194, 86, 118, 116, 184, 96, 97, 71, 191, 89, 118, 117, 183, 75, 189, 91, 180, 78, 186, 95, 176, 82, 183, 99, 170, 88, 178, 102, 123, 122, 164, 118, 124, 96, 170, 109, 128, 121, 157, 121, 139, 113, 141
};

  int tabdurerv5[290] =
    {
70, 48, 49, 76, 98, 41, 40, 17, 24, 45, 101, 44, 81, 47, 98, 42, 43, 13, 27, 45, 55, 7, 40, 42, 43, 12, 27, 44, 56, 6, 41, 41, 44, 11, 28, 41, 54, 12, 38, 43, 41, 13, 28, 45, 49, 12, 40, 40, 40, 16, 26, 46, 45, 14, 39, 41, 40, 17, 27, 43, 45, 17, 35, 40, 41, 20, 23, 43, 46, 16, 36, 39, 41, 20, 25, 43, 42, 20, 32, 41, 39, 22, 23, 43, 43, 18, 35, 38, 38, 25, 22, 42, 44, 19, 32, 41, 37, 24, 23, 41, 42, 21, 32, 41, 36, 23, 26, 40, 41, 21, 32, 39, 39, 23, 24, 43, 39, 22, 31, 41, 37, 26, 22, 41, 40, 22, 31, 39, 39, 24, 22, 41, 43, 20, 31, 40, 37, 27, 21, 42, 39, 22, 31, 39, 38, 26, 22, 42, 40, 21, 31, 39, 39, 25, 23, 40, 41, 20, 32, 38, 39, 27, 22, 41, 41, 21, 31, 38, 40, 25, 23, 42, 40, 21, 30, 41, 39, 27, 21, 40, 45, 17, 31, 39, 40, 27, 22, 42, 42, 18, 30, 42, 39, 28, 21, 42, 42, 17, 31, 41, 40, 30, 19, 42, 44, 15, 29, 41, 41, 31, 18, 43, 44, 14, 29, 42, 41, 31, 19, 42, 42, 17, 27, 43, 41, 33, 15, 44, 45, 13, 29, 42, 42, 34, 13, 43, 50, 9, 28, 43, 43, 35, 11, 46, 48, 9, 25, 44, 45, 33, 13, 46, 47, 6, 30, 44, 43, 37, 8, 46, 84, 44, 44, 92, 82, 46, 45, 89, 83, 46, 46, 91, 84, 46, 44, 34, 13, 42, 46, 21, 30, 42, 41, 33, 21, 38, 41, 34, 46, 53
};

// ex AdnForme61
// voyelle i
  int tabamplitudev6[71] =
    {
168, 159, 216, 121, 149, 59, 86, 37, 186, 149, 166, 118, 129, 91, 110, 107, 161, 157, 168, 137, 141, 119, 134, 129, 143, 130, 129, 108, 116, 98, 119, 116, 157, 151, 166, 105, 120, 110, 134, 107, 131, 110, 145, 137, 154, 146, 157, 142, 146, 121, 136, 126, 138, 134, 140, 123, 121, 113, 119, 104, 109, 99, 112, 106, 111, 94, 109, 80, 104, 86, 128
};

  int tabdurerv6[71] =
    {
4, 2, 5, 4, 3, 5, 3, 4, 13, 3, 3, 6, 3, 5, 5, 2, 6, 4, 3, 6, 3, 4, 4, 3, 5, 3, 3, 5, 3, 4, 5, 2, 6, 3, 4, 19, 4, 2, 4, 4, 4, 3, 4, 3, 5, 3, 4, 5, 3, 4, 3, 4, 5, 3, 6, 10, 3, 2, 3, 4, 3, 4, 4, 6, 3, 5, 3, 4, 4, 4, 1
};

// ex AdnForme62
// voyelle son "A"

  int tabamplitudev7[54] =
    {
187, 139, 185, 149, 172, 139, 148, 131, 134, 115, 121, 102, 120, 92, 119, 101, 117, 108, 125, 117, 129, 121, 136, 126, 136, 125, 142, 128, 138, 135, 140, 132, 147, 135, 144, 134, 145, 127, 134, 117, 118, 104, 110, 93, 102, 90, 93, 83, 111, 72, 135, 90, 161, 128
};

  int tabdurerv7[54] =
    {
11, 8, 8, 10, 7, 8, 5, 7, 4, 8, 5, 14, 6, 7, 7, 7, 14, 5, 8, 5, 6, 6, 6, 8, 12, 7, 7, 7, 5, 5, 5, 6, 7, 6, 10, 10, 6, 8, 6, 17, 3, 7, 5, 7, 6, 6, 4, 5, 7, 7, 8, 8, 9, 6
};

// ex AdnForme63
//voyelle ai

  int tabamplitudev8[11] =
    {
135, 134, 135, 134, 135, 132, 132, 131, 141, 140, 141

};

  int tabdurerv8[11] =
    {
10, 11, 6, 5, 15, 46, 49, 37, 95, 6, 7
};

// ex AdnForme64
// son on
  int tabamplitudev9[251] =
    {
130, 116, 144, 115, 131, 111, 117, 114, 176, 82, 149, 105, 128, 103, 187, 73, 154, 104, 128, 100, 201, 58, 158, 129, 132, 100, 130, 98, 209, 54, 162, 128, 132, 102, 129, 97, 207, 56, 164, 105, 127, 97, 209, 58, 166, 107, 125, 100, 213, 59, 166, 107, 127, 105, 219, 61, 165, 118, 119, 106, 125, 107, 218, 61, 168, 113, 119, 110, 123, 110, 215, 62, 173, 109, 121, 112, 124, 114, 211, 62, 176, 104, 123, 112, 124, 117, 204, 65, 178, 95, 136, 108, 195, 74, 176, 90, 143, 106, 191, 78, 177, 88, 147, 104, 187, 81, 175, 86, 149, 104, 185, 82, 175, 85, 150, 104, 185, 84, 173, 87, 149, 106, 184, 87, 170, 89, 146, 107, 181, 88, 167, 91, 144, 108, 179, 90, 164, 92, 142, 110, 179, 92, 162, 95, 140, 112, 177, 93, 158, 96, 137, 114, 174, 95, 154, 98, 135, 114, 173, 96, 154, 98, 136, 115, 172, 97, 151, 101, 135, 115, 168, 102, 144, 104, 133, 115, 166, 101, 144, 105, 133, 115, 164, 105, 140, 109, 132, 116, 161, 108, 136, 111, 132, 115, 158, 110, 132, 114, 130, 115, 156, 112, 129, 116, 131, 114, 154, 115, 126, 119, 130, 114, 150, 116, 121, 120, 130, 113, 147, 116, 130, 114, 145, 116, 132, 115, 143, 114, 130, 115, 140, 115, 129, 118, 137, 117, 127, 119, 133, 119, 126, 120, 130, 122, 126, 122, 128, 123, 124, 122, 128
};

  int tabdurerv9[251] =
    {
27, 121, 117, 44, 37, 72, 42, 35, 72, 40, 39, 73, 35, 48, 87, 39, 35, 74, 35, 52, 85, 39, 35, 29, 15, 29, 34, 52, 81, 39, 36, 29, 15, 32, 37, 44, 74, 39, 37, 77, 38, 39, 67, 42, 37, 77, 39, 36, 61, 41, 38, 84, 32, 37, 51, 42, 40, 44, 9, 28, 35, 38, 45, 41, 39, 39, 17, 30, 33, 35, 43, 41, 36, 39, 26, 28, 36, 24, 41, 39, 38, 36, 32, 30, 30, 21, 40, 39, 36, 38, 34, 37, 79, 39, 36, 37, 38, 38, 70, 39, 36, 40, 37, 37, 66, 39, 36, 40, 37, 41, 57, 40, 37, 39, 37, 41, 53, 40, 38, 38, 40, 39, 51, 40, 39, 38, 38, 38, 51, 40, 37, 40, 37, 40, 50, 39, 39, 38, 40, 37, 48, 41, 39, 40, 38, 40, 47, 39, 40, 40, 36, 44, 44, 41, 39, 40, 39, 40, 46, 41, 39, 39, 42, 41, 44, 40, 41, 40, 40, 42, 44, 42, 40, 39, 38, 45, 47, 40, 39, 42, 42, 42, 47, 42, 39, 39, 44, 42, 48, 45, 36, 40, 42, 50, 46, 46, 38, 42, 41, 48, 45, 47, 42, 35, 46, 47, 55, 51, 38, 34, 42, 53, 54, 56, 45, 17, 47, 53, 66, 68, 97, 51, 79, 72, 78, 71, 81, 74, 78, 69, 93, 72, 77, 83, 96, 71, 78, 84, 104, 73, 82, 82, 118, 73, 82, 87, 104, 104, 55, 100, 170
};

// ex AdnForme65
// son u
  int tabamplitudev10[28] =
    {
152, 175, 146, 159, 128, 128, 114, 128, 123, 145, 133, 144, 138, 146, 137, 144, 126, 129, 114, 118, 110, 114, 111, 123, 118, 125, 124, 128
};

  int tabdurerv10[28] =
    {
18, 3, 27, 9, 11, 15, 9, 24, 4, 21, 12, 12, 13, 11, 12, 12, 18, 18, 12, 18, 7, 22, 7, 23, 7, 4, 19, 7
};

// ex AdnForme66
// son on
  int tabamplitudev11[148] =
    {
135, 109, 140, 127, 130, 103, 147, 128, 130, 88, 152, 120, 128, 82, 159, 120, 136, 76, 168, 125, 141, 73, 168, 115, 134, 59, 170, 116, 136, 54, 171, 121, 136, 50, 175, 125, 137, 46, 184, 130, 141, 40, 193, 128, 142, 37, 198, 125, 143, 33, 204, 120, 136, 34, 207, 119, 133, 32, 208, 120, 132, 36, 211, 119, 132, 36, 209, 118, 132, 39, 209, 114, 134, 39, 205, 115, 133, 39, 198, 114, 132, 41, 196, 117, 134, 45, 192, 117, 132, 46, 186, 120, 136, 50, 182, 120, 136, 53, 177, 117, 138, 55, 170, 120, 138, 61, 165, 122, 140, 69, 159, 120, 138, 75, 158, 119, 139, 84, 159, 115, 139, 91, 159, 110, 144, 96, 160, 109, 149, 97, 155, 111, 150, 99, 148, 116, 146, 106, 140, 120, 139, 115, 136, 122, 133, 122, 129, 128
};

  int tabdurerv11[148] =
    {
144, 67, 112, 53, 22, 71, 110, 68, 25, 60, 108, 68, 31, 61, 101, 70, 34, 60, 109, 65, 37, 57, 108, 69, 35, 56, 108, 66, 37, 53, 113, 67, 31, 56, 102, 71, 32, 58, 98, 72, 32, 59, 95, 70, 32, 63, 94, 67, 34, 64, 95, 69, 34, 61, 95, 70, 31, 60, 99, 70, 28, 63, 99, 69, 27, 63, 99, 67, 34, 58, 102, 65, 33, 61, 99, 67, 37, 64, 94, 67, 39, 61, 95, 69, 36, 65, 90, 75, 39, 62, 91, 72, 41, 58, 98, 68, 39, 62, 92, 73, 42, 58, 97, 74, 41, 59, 109, 64, 38, 60, 114, 66, 34, 61, 117, 60, 44, 55, 121, 63, 47, 51, 122, 62, 50, 62, 110, 66, 57, 64, 105, 68, 59, 70, 99, 74, 60, 68, 116, 71, 62, 82, 105, 71, 75, 75, 105, 33
};

// ex AdnForme67
// son on
  int tabamplitudev12[243] =
    {
130, 123, 132, 124, 130, 126, 132, 117, 137, 122, 130, 129, 134, 111, 142, 118, 130, 129, 138, 102, 152, 112, 135, 131, 143, 92, 163, 105, 139, 129, 149, 81, 173, 99, 139, 128, 151, 73, 177, 97, 141, 128, 153, 68, 184, 94, 146, 128, 153, 64, 187, 92, 147, 127, 151, 61, 188, 90, 148, 127, 152, 60, 193, 89, 157, 128, 150, 59, 193, 86, 157, 126, 149, 58, 195, 83, 159, 125, 150, 54, 197, 80, 159, 122, 152, 48, 199, 79, 161, 123, 158, 47, 205, 82, 160, 122, 165, 37, 209, 79, 156, 122, 171, 30, 215, 78, 152, 122, 177, 22, 221, 75, 150, 125, 183, 15, 229, 72, 151, 128, 189, 9, 235, 67, 148, 129, 191, 3, 235, 65, 142, 129, 192, 3, 233, 70, 141, 136, 191, 17, 225, 73, 177, 32, 209, 75, 164, 51, 200, 75, 158, 148, 150, 61, 189, 79, 156, 137, 149, 66, 182, 89, 154, 129, 157, 61, 184, 91, 152, 124, 168, 48, 186, 87, 147, 118, 179, 40, 188, 95, 142, 124, 183, 39, 188, 97, 139, 137, 169, 49, 190, 94, 144, 135, 150, 62, 185, 92, 150, 119, 153, 81, 169, 111, 138, 119, 146, 81, 174, 107, 131, 117, 147, 93, 168, 99, 138, 124, 140, 103, 151, 113, 134, 123, 138, 110, 144, 116, 133, 123, 134, 119, 137, 121, 131, 124, 132, 125, 131, 126, 128, 127, 128
};

  int tabdurerv12[243] =
    {
31, 54, 64, 57, 49, 35, 51, 50, 63, 57, 49, 27, 31, 61, 55, 56, 61, 5, 43, 57, 56, 52, 52, 29, 36, 55, 54, 53, 49, 27, 42, 54, 53, 52, 51, 32, 37, 53, 55, 53, 46, 32, 39, 50, 55, 52, 47, 35, 37, 52, 55, 51, 47, 33, 39, 51, 52, 51, 51, 33, 34, 52, 55, 51, 46, 39, 32, 52, 55, 50, 49, 39, 34, 50, 53, 50, 47, 38, 36, 51, 53, 50, 48, 41, 33, 50, 55, 49, 50, 38, 36, 51, 54, 51, 47, 38, 36, 51, 56, 51, 47, 36, 39, 52, 56, 51, 46, 35, 40, 55, 54, 54, 47, 33, 39, 55, 56, 54, 48, 29, 43, 55, 57, 53, 48, 29, 44, 56, 57, 53, 51, 24, 45, 58, 56, 57, 54, 16, 46, 60, 59, 59, 113, 61, 63, 61, 109, 66, 63, 58, 67, 32, 17, 68, 60, 57, 59, 42, 32, 58, 61, 57, 52, 41, 42, 59, 60, 57, 50, 42, 47, 59, 59, 55, 53, 39, 50, 61, 64, 57, 53, 34, 55, 63, 66, 65, 59, 28, 50, 71, 66, 64, 65, 41, 45, 72, 65, 58, 56, 48, 54, 77, 72, 58, 50, 51, 65, 83, 68, 64, 44, 43, 68, 100, 68, 63, 63, 50, 67, 81, 72, 63, 57, 54, 70, 89, 74, 66, 59, 51, 67, 101, 70, 62, 56, 55, 58, 133, 60, 63, 68, 44, 103
};

// ex AdnForme68
// son on
  int tabamplitudev13[37] =
    {
128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 126, 127, 126, 127, 126, 128, 127, 128, 127, 128, 127, 128, 127, 130, 129, 131
};

  int tabdurerv13[37] =
    {
5, 4, 3, 3, 3, 4, 3, 75, 3, 8, 9, 3, 47, 4, 7, 8, 3, 63, 118, 6, 4, 34, 8, 6, 8, 5, 32, 8, 9, 3, 50, 6, 6, 66, 36, 2, 21
};

// ex AdnForme69
// son on
  int tabamplitudev14[10] =
    {
131, 126, 129, 120, 134, 121, 131, 128, 129, 125
};

  int tabdurerv14[10] =
    {
22, 24, 20, 24, 27, 27, 30, 33, 3, 28
};
// ex AdnForme70
// son "ai" api 302
  int tabamplitudev15[422] =
    {
128, 127, 129, 128, 129, 128, 129, 127, 128, 126, 127, 126, 129, 128, 129, 126, 132, 120, 122, 119, 124, 123, 130, 129, 134, 130, 131, 121, 124, 122, 125, 125, 133, 131, 133, 122, 139, 111, 113, 110, 121, 120, 143, 126, 127, 118, 121, 118, 138, 135, 137, 121, 122, 120, 145, 143, 144, 101, 104, 98, 115, 113, 151, 141, 141, 112, 116, 113, 142, 138, 142, 119, 145, 102, 103, 90, 105, 102, 152, 149, 151, 111, 114, 109, 143, 141, 144, 121, 147, 95, 98, 83, 105, 102, 163, 157, 158, 106, 111, 105, 146, 145, 149, 127, 147, 90, 92, 75, 95, 93, 167, 100, 108, 106, 139, 136, 149, 138, 146, 138, 142, 136, 142, 139, 144, 77, 81, 71, 167, 104, 144, 119, 171, 53, 54, 54, 59, 58, 195, 92, 152, 125, 127, 122, 161, 50, 55, 43, 189, 93, 99, 96, 146, 127, 131, 125, 161, 42, 51, 43, 94, 93, 205, 92, 104, 98, 127, 126, 151, 147, 151, 133, 136, 130, 162, 158, 167, 37, 45, 36, 206, 199, 200, 96, 102, 98, 143, 142, 148, 142, 144, 133, 134, 127, 130, 128, 164, 163, 170, 22, 32, 24, 208, 200, 200, 95, 106, 98, 149, 144, 149, 128, 128, 120, 123, 119, 130, 130, 172, 19, 27, 20, 211, 200, 200, 95, 107, 97, 153, 150, 155, 131, 134, 128, 169, 168, 179, 32, 37, 30, 217, 104, 108, 104, 160, 136, 168, 34, 37, 31, 205, 103, 159, 132, 172, 35, 37, 30, 195, 187, 187, 95, 100, 97, 148, 146, 157, 148, 148, 125, 125, 118, 122, 119, 163, 159, 167, 23, 28, 19, 184, 174, 176, 104, 105, 99, 104, 101, 150, 147, 156, 146, 146, 123, 125, 116, 120, 118, 130, 129, 171, 33, 36, 25, 175, 167, 171, 135, 137, 105, 115, 106, 150, 147, 152, 151, 152, 140, 142, 120, 120, 117, 182, 27, 170, 168, 171, 118, 123, 120, 154, 151, 153, 116, 117, 116, 187, 17, 161, 160, 166, 119, 120, 118, 128, 126, 147, 146, 151, 117, 117, 110, 198, 24, 166, 132, 147, 115, 116, 113, 198, 31, 34, 26, 163, 162, 164, 157, 159, 135, 137, 133, 136, 132, 134, 129, 130, 119, 121, 115, 182, 35, 173, 128, 131, 130, 136, 133, 136, 133, 174, 53, 54, 50, 177, 129, 131, 129, 138, 131, 161, 65, 163, 128, 138, 128, 150, 89, 149, 130, 132, 131, 132, 128, 135, 112, 135, 128, 129, 127, 128, 127
};

  int tabdurerv15[422] =
    {
75, 52, 29, 2, 9, 3, 5, 7, 6, 16, 6, 8, 38, 4, 9, 28, 64, 45, 4, 9, 15, 3, 9, 4, 18, 16, 5, 27, 7, 7, 8, 3, 27, 7, 6, 40, 50, 49, 4, 9, 14, 3, 30, 31, 3, 17, 6, 5, 39, 7, 6, 29, 4, 4, 41, 6, 6, 37, 7, 8, 12, 5, 31, 17, 3, 30, 6, 5, 38, 7, 6, 29, 50, 40, 3, 11, 10, 6, 28, 8, 5, 39, 6, 5, 42, 4, 6, 40, 41, 39, 4, 10, 12, 4, 30, 9, 3, 38, 7, 6, 40, 3, 7, 40, 37, 40, 3, 10, 11, 4, 43, 51, 7, 4, 27, 5, 8, 7, 8, 11, 7, 6, 8, 5, 8, 54, 7, 7, 53, 42, 49, 36, 54, 46, 4, 3, 5, 4, 44, 49, 51, 28, 5, 7, 40, 47, 6, 8, 48, 49, 6, 4, 41, 26, 5, 7, 38, 51, 6, 9, 14, 2, 29, 51, 7, 5, 17, 2, 10, 7, 12, 18, 5, 6, 29, 5, 7, 49, 5, 7, 48, 6, 4, 41, 6, 4, 31, 3, 6, 6, 4, 8, 4, 7, 5, 5, 30, 2, 7, 50, 6, 6, 50, 7, 3, 39, 6, 6, 29, 6, 5, 19, 3, 6, 5, 4, 10, 2, 29, 52, 5, 8, 47, 8, 3, 39, 6, 6, 30, 5, 6, 26, 6, 5, 30, 4, 7, 54, 6, 7, 47, 51, 5, 6, 43, 37, 44, 52, 6, 7, 48, 51, 52, 40, 40, 53, 5, 9, 47, 7, 3, 40, 6, 5, 30, 4, 7, 8, 3, 19, 3, 7, 5, 5, 29, 4, 7, 51, 5, 6, 50, 6, 5, 30, 3, 7, 5, 4, 31, 5, 6, 7, 3, 18, 4, 7, 6, 4, 8, 2, 30, 53, 3, 10, 47, 6, 5, 18, 3, 18, 6, 6, 30, 4, 7, 4, 4, 8, 3, 21, 3, 5, 49, 63, 51, 5, 5, 39, 7, 5, 29, 7, 4, 41, 4, 4, 50, 65, 51, 4, 7, 40, 4, 4, 7, 5, 19, 4, 6, 30, 3, 8, 59, 71, 64, 45, 30, 40, 5, 6, 59, 64, 5, 6, 63, 4, 4, 8, 3, 31, 5, 6, 4, 7, 5, 7, 4, 17, 4, 9, 70, 82, 69, 53, 7, 5, 25, 6, 7, 9, 68, 75, 3, 7, 69, 54, 5, 4, 30, 37, 58, 74, 80, 54, 39, 41, 53, 78, 79, 57, 21, 8, 3, 55, 51, 75, 80, 68, 31, 63, 71, 6
};

// ex AdnForme71
// son "e" api 310
  int tabamplitudev16[13] =
    {
124, 35, 98, 97, 224, 224, 65, 67, 66, 192, 184, 184, 128
};

  int tabdurerv16[13] =
    {
3, 37, 31, 5, 27, 27, 42, 5, 2, 53, 14, 3, 17
};

// ex AdnForme72
// son "i" api
  int tabamplitudev17[38] =
    {
132, 123, 142, 121, 144, 124, 140, 123, 141, 121, 137, 125, 130, 124, 130, 122, 126, 122, 129, 118, 130, 120, 128, 122, 131, 121, 131, 126, 129, 126, 131, 125, 128, 123, 127, 123, 128, 128
};

  int tabdurerv17[38] =
    {
7, 6, 7, 7, 7, 6, 7, 6, 7, 7, 7, 7, 5, 6, 6, 5, 7, 4, 6, 7, 7, 6, 7, 6, 6, 6, 7, 7, 5, 5, 5, 8, 7, 14, 9, 6, 21, 2
};

// fin tableaux de formes lois base voyelle

      int *tabampv[18] =
  { tabamplitudev1, tabamplitudev1, tabamplitudev2, tabamplitudev3, tabamplitudev4, tabamplitudev5, tabamplitudev6, tabamplitudev7, tabamplitudev8, tabamplitudev9, tabamplitudev10, tabamplitudev11, tabamplitudev12, tabamplitudev13, tabamplitudev14, tabamplitudev15, tabamplitudev16, tabamplitudev17 };

      int *tabdurv[18] =
  { tabdurerv1, tabdurerv1, tabdurerv2, tabdurerv3, tabdurerv4, tabdurerv5, tabdurerv6, tabdurerv7, tabdurerv8, tabdurerv9, tabdurerv10, tabdurerv11, tabdurerv12, tabdurerv13, tabdurerv14, tabdurerv15, tabdurerv16, tabdurerv17 };

      int pourlavoyelle[18] =
  { 11, 11, 38, 17, 7, 290, 71, 54, 11, 251, 28, 148, 243, 37, 10, 422, 13, 38 };


int ajusteposition = quelpiano -56;
//int ajusteposition = 1;


int  pass1=0;
int  pass2=0;
int  pass3=0;
int  pass4=0;

//multiplie

    for(int laforcebbase = quelpiano10; laforcebbase > 0; laforcebbase--)
     {
   pass3=0;
   pass4=0;


if(quelpiano6<128)

   {

if(quelpiano9>2)

   {


  for(int varit = 0; varit<quelpiano6; varit++)
   {
  for(int positiontab = 0; positiontab<pourlavoyelle[ajusteposition]; positiontab++)
   {

        if(positiontab%2)
                {
  pass1 = /*tabamplitude[positiontab]*/tabampv[ajusteposition][positiontab] - int(tabampv[ajusteposition][positiontab] * 0.01 * quelpiano2);
  pass2 = int(tabdurv[ajusteposition][positiontab] * 0.01 * quelpiano3);

  }
        else
                {
  pass1 = tabampv[ajusteposition][positiontab] + int(tabampv[ajusteposition][positiontab] * 0.01 * quelpiano4);
  pass2 = int(tabdurv[ajusteposition][positiontab] * 0.01 * quelpiano5);
  }

  pass1 += pass3;
  pass2 += (int)(pass2 *0.01*pass4);

  if(pass1<16)
  pass1=16;

  if(pass2<3)
  pass2=3;

  if(pass1 >239)
  pass1=239;

  if(pass2>250)
  pass2=250;

        fprintf(fichierjo,  "%c%c",    (char)(pass1), (char)(pass2));

}//fin boucle for
  pass3 +=quelpiano7;
  pass4 +=quelpiano8;
}//fin boucle varit

  for(int varit = 0; varit<quelpiano6-1; varit++)
   {
  pass3 -=quelpiano7;
  pass4 -=quelpiano8;
  for(int positiontab = 0; positiontab<pourlavoyelle[ajusteposition]; positiontab++)
   {

        if(positiontab%2)
                {
  pass1 = tabampv[ajusteposition][positiontab] - int(tabampv[ajusteposition][positiontab] * 0.01 * quelpiano2);
  pass2 = int(tabdurv[ajusteposition][positiontab] * 0.01 * quelpiano3);

  }
        else
                {
  pass1 = tabampv[ajusteposition][positiontab] + int(tabampv[ajusteposition][positiontab] * 0.01 * quelpiano4);
  pass2 = int(tabdurv[ajusteposition][positiontab] * 0.01 * quelpiano5);
  }

  pass1 += pass3;
  pass2 += (int)(pass2 *0.01*pass4);

  if(pass1<16)
  pass1=16;

  if(pass2<3)
  pass2=3;

  if(pass1 >239)
  pass1=239;

  if(pass2>250)
  pass2=250;

        fprintf(fichierjo,  "%c%c",    (char)(pass1), (char)(pass2));

}//fin boucle for

}//fin boucle varit

    for(int pourquelpiano9 = quelpiano9; pourquelpiano9 > 3; pourquelpiano9--)
     {
        fprintf(fichierjo,  "%c%c",    (char)127, (char)250);
     }

}
else
   {

  for(int varit = 0; varit<quelpiano6; varit++)
   {

  for(int positiontab = 0; positiontab<pourlavoyelle[ajusteposition]; positiontab++)
   {



        if(positiontab%2)
                {
  pass1 = tabampv[ajusteposition][positiontab] - int(tabampv[ajusteposition][positiontab] * 0.01 * quelpiano2);
  pass2 = int(tabdurv[ajusteposition][positiontab] + (tabdurv[ajusteposition][positiontab]* 0.01 * quelpiano3));

  }
        else
                {
  pass1 = tabampv[ajusteposition][positiontab] + int(tabampv[ajusteposition][positiontab] * 0.01 * quelpiano4);
  pass2 = int(tabdurv[ajusteposition][positiontab] + (tabdurv[ajusteposition][positiontab] * 0.01 * quelpiano5));
  }

  pass1 += pass3;
  pass2 += (int)(pass2 *0.01*pass4);

  if(pass1<16)
  pass1=16;

  if(pass2<3)
  pass2=3;

  if(pass1 >239)
  pass1=239;

  if(pass2>250)
  pass2=250;

        fprintf(fichierjo,  "%c%c",    (char)(pass1), (char)(pass2));

}//fin boucle for
  pass3 +=quelpiano7;
  pass4 +=quelpiano8;
}//fin boucle varit
  for(int varit = 0; varit<quelpiano6-1; varit++)
   {
  pass3 -=quelpiano7;
  pass4 -=quelpiano8;
  for(int positiontab = 0; positiontab<pourlavoyelle[ajusteposition]; positiontab++)
   {



        if(positiontab%2)
                {
  pass1 = tabampv[ajusteposition][positiontab] - int(tabampv[ajusteposition][positiontab] * 0.01 * quelpiano2);
  pass2 = int(tabdurv[ajusteposition][positiontab] + (tabdurv[ajusteposition][positiontab]* 0.01 * quelpiano3));

  }
        else
                {
  pass1 = tabampv[ajusteposition][positiontab] + int(tabampv[ajusteposition][positiontab] * 0.01 * quelpiano4);
  pass2 = int(tabdurv[ajusteposition][positiontab] + (tabdurv[ajusteposition][positiontab] * 0.01 * quelpiano5));
  }

  pass1 += pass3;
  pass2 += (int)(pass2 *0.01*pass4);

  if(pass1<16)
  pass1=16;

  if(pass2<3)
  pass2=3;

  if(pass1 >239)
  pass1=239;

  if(pass2>250)
  pass2=250;

        fprintf(fichierjo,  "%c%c",    (char)(pass1), (char)(pass2));

}//fin boucle for

}//fin boucle varit
}//fin mode type de variation
}//fin mode de variation force

/********************************/
else //mode variation de force
{

int pourquelpiano6 = quelpiano6- 128;

if(quelpiano9>2)

   {


  for(int varit = 0; varit<pourquelpiano6; varit++)
   {
  for(int positiontab = 0; positiontab<pourlavoyelle[ajusteposition]; positiontab++)
   {

        if(positiontab%2)
                {
  pass1 = tabampv[ajusteposition][positiontab] - int(tabampv[ajusteposition][positiontab] * 0.01 * quelpiano2);
  pass2 = int(tabdurv[ajusteposition][positiontab] * 0.01 * quelpiano3);
  pass1 -= pass3;
  pass2 += (int)(pass2 *0.01*pass4);
  }
        else
                {
  pass1 = tabampv[ajusteposition][positiontab] + int(tabampv[ajusteposition][positiontab] * 0.01 * quelpiano4);
  pass2 = int(tabdurv[ajusteposition][positiontab] * 0.01 * quelpiano5);
  pass1 += pass3;
  pass2 += (int)(pass2 *0.01*pass4);
  }



  if(pass1<16)
  pass1=16;

  if(pass2<3)
  pass2=3;

  if(pass1 >239)
  pass1=239;

  if(pass2>250)
  pass2=250;

        fprintf(fichierjo,  "%c%c",    (char)(pass1), (char)(pass2));

}//fin boucle for
  pass3 +=quelpiano7;
  pass4 +=quelpiano8;
}//fin boucle varit

  for(int varit = 0; varit<pourquelpiano6-1; varit++)
   {
  pass3 -=quelpiano7;
  pass4 -=quelpiano8;
  for(int positiontab = 0; positiontab<pourlavoyelle[ajusteposition]; positiontab++)
   {

        if(positiontab%2)
                {
  pass1 = tabampv[ajusteposition][positiontab] - int(tabampv[ajusteposition][positiontab] * 0.01 * quelpiano2);
  pass2 = int(tabdurv[ajusteposition][positiontab] * 0.01 * quelpiano3);
  pass1 -= pass3;
  pass2 += (int)(pass2 *0.01*pass4);

  }
        else
                {
  pass1 = tabampv[ajusteposition][positiontab] + int(tabampv[ajusteposition][positiontab] * 0.01 * quelpiano4);
  pass2 = int(tabdurv[ajusteposition][positiontab] * 0.01 * quelpiano5);
  pass1 += pass3;
  pass2 += (int)(pass2 *0.01*pass4);
  }



  if(pass1<16)
  pass1=16;

  if(pass2<3)
  pass2=3;

  if(pass1 >239)
  pass1=239;

  if(pass2>250)
  pass2=250;

        fprintf(fichierjo,  "%c%c",    (char)(pass1), (char)(pass2));

}//fin boucle for

}//fin boucle varit

    for(int pourquelpiano9 = quelpiano9; pourquelpiano9 > 3; pourquelpiano9--)
     {
        fprintf(fichierjo,  "%c%c",    (char)127, (char)250);
     }

}
else
   {

  for(int varit = 0; varit<pourquelpiano6; varit++)
   {

  for(int positiontab = 0; positiontab<pourlavoyelle[ajusteposition]; positiontab++)
   {



        if(positiontab%2)
                {
  pass1 = tabampv[ajusteposition][positiontab] - int(tabampv[ajusteposition][positiontab] * 0.01 * quelpiano2);
  pass2 = int(tabdurv[ajusteposition][positiontab] + (tabdurv[ajusteposition][positiontab]* 0.01 * quelpiano3));
  pass1 -= pass3;
  pass2 += (int)(pass2 *0.01*pass4);
  }
        else
                {
  pass1 = tabampv[ajusteposition][positiontab] + int(tabampv[ajusteposition][positiontab] * 0.01 * quelpiano4);
  pass2 = int(tabdurv[ajusteposition][positiontab] + (tabdurv[ajusteposition][positiontab] * 0.01 * quelpiano5));
  pass1 += pass3;
  pass2 += (int)(pass2 *0.01*pass4);
  }



  if(pass1<16)
  pass1=16;

  if(pass2<3)
  pass2=3;

  if(pass1 >239)
  pass1=239;

  if(pass2>250)
  pass2=250;

        fprintf(fichierjo,  "%c%c",    (char)(pass1), (char)(pass2));

}//fin boucle for
  pass3 +=quelpiano7;
  pass4 +=quelpiano8;
}//fin boucle varit
  for(int varit = 0; varit<pourquelpiano6-1; varit++)
   {
  pass3 -=quelpiano7;
  pass4 -=quelpiano8;
  for(int positiontab = 0; positiontab<pourlavoyelle[ajusteposition]; positiontab++)
   {



        if(positiontab%2)
                {
  pass1 = tabampv[ajusteposition][positiontab] - int(tabampv[ajusteposition][positiontab] * 0.01 * quelpiano2);
  pass2 = int(tabdurv[ajusteposition][positiontab] + (tabdurv[ajusteposition][positiontab]* 0.01 * quelpiano3));
  pass1 -= pass3;
  pass2 += (int)(pass2 *0.01*pass4);

  }
        else
                {
  pass1 = tabampv[ajusteposition][positiontab] + int(tabampv[ajusteposition][positiontab] * 0.01 * quelpiano4);
  pass2 = int(tabdurv[ajusteposition][positiontab] + (tabdurv[ajusteposition][positiontab] * 0.01 * quelpiano5));
  pass1 += pass3;
  pass2 += (int)(pass2 *0.01*pass4);
  }



  if(pass1<16)
  pass1=16;

  if(pass2<3)
  pass2=3;

  if(pass1 >239)
  pass1=239;

  if(pass2>250)
  pass2=250;

        fprintf(fichierjo,  "%c%c",    (char)(pass1), (char)(pass2));

}//fin boucle for

}//fin boucle varit
}//fin mode type de variation
}//fin mode de variation force

/********************************/

// fin  multiplie
   }
 
  fclose(fichierjo);

       }

// fin de la zone de travail de l'apprenant

Dernière modification par temps (12-02-2015 18:11:46)

Hors ligne

Pied de page des forums