samedi, février 26, 2011

Modélisation de la voix humaine

Depuis ma réalisation du logiciel GKRI, un logiciel novateur car c'est le seul qui permet de travailler en zonage et système ouvert sur le web, j'ai l'intention d'ajouter une fonction reconnaissance vocale. Mais mon concept de la reconnaissance vocale ne passe pas par imitation ou singer la parole, mais bien par modéliser la parole. J'ai rencontré de grande difficultés avec tous les langages que j'ai testé car ceux-ci conçus sur l'algèbre ne me donnaient pas les outils nécessaires. C'est la raison pour laquelle, j'ai créé ma propre technique de construction des sons basé sur mon système mathématique.
En d'autres mots pour dire les choses plus simplement, il est impossible de reproduire les variations des phénomènes physique en pensant qu'il puisse exister le zéro ou une même base de temps dans un phénomènes composé d'équilibres de plusieurs autres phénomènes, ou encore plus simple impossible de modéliser avec l'algèbre.
Pour revenir sur un aspect plus pratique, je pouvais utiliser sed mais j'ai choisi de créer un répertoire contenant des fichiers, portant le nom de chaque valeur binaire utile à la construction d'un son. J'appelle ça le matériel premier. Ensuite j'ai écris un fichier en langage C qui développe la brique première des phénomènes physiques (nombreux de mes posts sur le blogue parle de mon concept de jo, il trouve ici une application et démontre en même temps s'il le fallait encore sa puissance d'analyse).
Voici un des main que j'ai écris
/* Imaginer et creer par Andre pierre jocelyn*/
#include
#include
#include

int main(int argc, char *argv[])

{

    double jo, codebash, amplitude;
    int nbdepoints, sens;

  printf("Quelle est la valeur de jo ? ");
  scanf("%lf", &jo);

  printf("Combien de point dans la courbe du son ? ");
  scanf("%d", &nbdepoints);

  printf("Quelle est le pourcentage de la valeur max de l'amplitude ? ");
  scanf("%lf", &amplitude);

   printf("Quelle est le sens et la position de la courbe ? 1 pour monter positive, 2 descente positive, 3 pour dn et 4 mn");
   scanf("%d", &sens);

if(sens==1)
{

FILE* script = NULL;

    script = fopen("montage.txt", "w+");/* pour ajouter a. possible  w ou r+  a tester  */

    if (script != NULL)
    {

         int boucle = 1;
  while (boucle < nbdepoints+1)
{
codebash = 126 * amplitude * ( 1 - exp (-boucle/jo))/100;
fprintf(script,"${jo[%d]} ", (int)codebash );
   boucle++;

    }

   fclose(script), script = NULL;;


}
}

if(sens==2)
{

FILE* script = NULL;

    script = fopen("montage.txt", "w+");

    if (script != NULL)
    {

    int boucle;
    boucle = nbdepoints;
while ( boucle > 0)
{


  codebash = 126 * amplitude * ( 1 - exp (-boucle/jo))/100;
fprintf(script,"${jo[%d]} ", (int)codebash );
  boucle--;
     }

   fclose(script), script = NULL;;
}
}

if(sens==4)
{
    FILE* script = NULL;

    script = fopen("montage.txt", "w+");

    if (script != NULL)
    {
    int boucle;
    boucle = nbdepoints;
while ( boucle > 0)
{
  codebash = 126 * amplitude * ( 1 - exp (-boucle/jo))/100+126;
fprintf(script,"${jo[%d]} ", (int)codebash );
   boucle--;
        }

   fclose(script), script = NULL;;
}
}

if(sens==3)
    {
     FILE* script = NULL;

    script = fopen("montage.txt", "w+");

    if (script != NULL)
    {

  int boucle = 1;
  while (boucle < nbdepoints+1)
          {

  codebash = 126 * amplitude * ( 1 - exp (-boucle/jo))/100+126;
fprintf(script,"${jo[%d]} ", (int)codebash );
   boucle++;
           }

   fclose(script), script = NULL;;
}
}

  return 0;
}


Ce main permet de créer d'une manière cohérente les 4 composantes d'une onde ,
ce main est associé à un fichier bash qui permet de concaténer les fichiers binaire en fichiers audio.
L'avantage d'utiliser le langage c est dans l'aplication des exponentiels qui permet la modélisation et ainsi de convertir les fichiers sons en simple textes bien plus légers.
En d'autres mots encore voici un exemple d'application en science de mon concept mathématique et voici comment transformer des choses très lourdes car elles singent puis encodes en chose très légères par la modélisation.
Si avec ça j'ai pas un prix Nobel c'est que l'esprit du siècle des lumières a vraiment été éradiqué de la planète.


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

Aucun commentaire: