IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

probleme avec la reconnaissance vocal de Ms agent.


Sujet :

Langage Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 33
    Points : 12
    Points
    12
    Par défaut probleme avec la reconnaissance vocal de Ms agent.
    Bonjour,

    J'ai un probleme avec le systeme de reconnaissance vocal, dans mon programme je place une ligne de code qui me l'agent en mode "ecoute" avec le bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      Agent1.Characters.Character('Peedy').Listen(true);
    Ca me plante l'application et j'obtient une sorte de fentre on dirait un editeur hexadecimal ou d'assembleur en voici une screenshot :



    J'ai fait moult recherches, étudie plusieur code mais c'est toujour le meme bout qui revient et qui fait planter mon programme, a savoir la synteste vocal elle fonction parfaitement et j'ai installer ces programme :

    The Microsoft Agent core components.
    La langue francaise
    Les 4 personnages
    Un text-to-speech engine
    The Speech Control Panel.
    L'installation c'est aussi trés bien dérouler et je possede bien un micro et des haut parleur qui fonctionne trés bien (au cas ou qq me demanderais ca)

    Voila si vous avez besoin de plus d'info, demander moi.

  2. #2
    Membre averti
    Avatar de Hauwke
    Inscrit en
    Septembre 2005
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 329
    Points : 400
    Points
    400
    Par défaut
    Bonjour,
    Le screenshoot est celui de la fenêtre CPU de delphi. elle te donne toutes (en vrai une partie seulement!) les informations nécessaires à ton déboggage.
    Pour ton agent, il nous faudrait plus de code que ça pour pouvoir comprendre les tenants et aboutissants.
    Enfin, as-tu essayer une exécution pas à pas pour voir exactement quelle était la fonstion et/ou procédure qui plante ton processus?
    Quelle version de delphi?
    Quel OS?
    enfin, tu vois le genre d'infos qui nous permettent d'imaginer, un peu, les choses vu que nous ne sommes pas devant ta bécane! rires
    Cordialement,
    Hauwke

  3. #3
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Salut!

    Lis donc l'article suivant : http://zewaren.developpez.com/delphi/ms-agents/#LVI

    J'espère que ça pourra t'aider, sinon précise davantage ton problème car là, je ne vois pas.
    bon courage, à+
    De retour parmis vous après 10 ans!!

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 33
    Points : 12
    Points
    12
    Par défaut
    Version : Delphi 7 Personnel Edition
    Os : Windows XP Famillial SP2

    j'ai lue ce tutorial alor voici le code complet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
     
    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      OleCtrls, AgentObjects_TLB, StdCtrls,ShellAPI;
     
    type
      TForm1 = class(TForm)
        Agent1: TAgent;
        Button2: TButton;
        Label1: TLabel;
        Label2: TLabel;
        Label3: TLabel;
        Button1: TButton;
        procedure FormShow(Sender: TObject);
        procedure Agent1Command(Sender: TObject; const UserInput: IDispatch);
        procedure Agent1RequestComplete(Sender: TObject;
          const Request: IDispatch);
        procedure Button2Click(Sender: TObject);
        procedure Button1Click(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      Form1: TForm1;
      Peedy:IAgentCtlCharacterEx;
      Requete2, RequeteCalcul:IAgentCtlRequest;
    implementation
     
    {$R *.DFM}
     
     
    procedure TForm1.FormShow(Sender: TObject);
    begin
      Agent1.Connected:=True;  
      Agent1.Characters.Load('Peedy', 'Peedy.acs');// chargement du personnage Peedy
                                                   // (Characters en anglais veut dire Personnages)
      Peedy:=Agent1.Characters.Character('Peedy'); // Ainsi Peedy représentera, parmi tous les personnages que contient Agent1
                                                   // le personnage Peedy chargé précédemment
      //Peedy.Show(False);                           // Pour le faire apparaître.
      //Peedy.LanguageID:=$409;                      // Choix du langage
        // attention, à ce jour, il n'y a pas de Speech recognition engines disponible
        // gratuitement sur le site de Microsoft d'ou le 409 (anglais US) et non 40C (Français)
     
      //Peedy.Commands.Add('calcul','&lancer la calculatrice','(calculatrice)',True,True);
           // la commande est ainsi repérée par son nom 'calcul'(attention au majuscule),
           // si vous cliquez avec le bouton droit sur le personnage
           // vous voyez apparaître 'Lancer la calculatrice' dans le menu
           // si vous prononcez 'calculatrice', cela déclenche la commande
      //Peedy.Commands.Add('Bonjour','&Bonjour','(Hello | Bonsoir)',True,True);
           // cette commande sera déclenchée pour le mot 'Hello' ou pour le mot 'bonsoir'
      //Peedy.Listen(true);
    end;
     
     
    procedure TForm1.Agent1Command(Sender: TObject;
      const UserInput: IDispatch);
    var CommandeVocale:String;
    begin
      Peedy.Listen(false);// pour l'obliger à ne pas déclencher une autre commande trop tot
      CommandeVocale:=IAgentCtlUserInput(UserInput).Name;// contient la commande qu'il a interprétée
      if CommandeVocale='Bonjour' then // si cette commande correspond à bonjour alors...
      begin
        Peedy.Play('Wave');// play permet de déclencher une animation de mon personnage
        Peedy.Speak('Hello','');
        Requete2:=Peedy.speak('Bonjour','')
      end
      else
      if CommandeVocale='calcul' then // si cette commande correspond à calcul alors...
      begin
        Peedy.Play('Wave'); // Wave est une animation qui le fait dire bonjour avec la main
        RequeteCalcul:=Peedy.speak('je vais lancer le programme calc.exe','');
        //admirez l'accent de Peedy !
      end
      else Peedy.Listen(true);// pour le remettre en position écoute
    end;
     
     
    procedure TForm1.Agent1RequestComplete(Sender: TObject;
      const Request: IDispatch);
    begin
      if Request=Requete2 then Peedy.Listen(true);
      if Request=RequeteCalcul then ShellExecute(handle,'open','calc.exe','','',0);
                      // lancement du programme calculatrice de Windows
                      // vérifiez sa présence sur votre poste
                      // ou remplacez calc.ese par le chemin + nom d'un autre exécutable
    end;
     
     
    procedure TForm1.Button2Click(Sender: TObject);
    { Les personnages arrètent automatiquement d'être en écoute 10 secondes    }
    { après le dernier Listen(true)                                            }
    { J'ai donc rajouté un bouton pour pouvoir le remettre en position écoute  }
    { pour se remettre en mode écoute, vous pouvez également appuyer sur la    }
    begin
      Agent1.Characters.Character('Peedy').Listen(true);
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      Agent1.PropertySheet.Visible:=true;
    end;
     
    end.
    J'avais deja désactive le choix de la langue qui posé probleme et en desactivant peu a peu certain chose pour fair des teste, comme je vous est dit j'en suis arrive la ligne de code suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Peedy.Listen(true);
    Cordialement, Max

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 33
    Points : 12
    Points
    12
    Par défaut
    Je up encor une fois mais svp voici toute les infos que je peu vous donné, aide moi je devient fou la, et sur mon pc la reconnaissance vocal marche puisque j'ai fait le trainning de mircosoft dans le panneau de config et qu'il a marcher parfaitement ....

  6. #6
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Peut-être est-ce dû à un paramètre ou une directive de compilation de Delphi que le compo n'apprecie pas...

    Tu obtiens cette erreur lorsque tu éxécutes le projet directement dans Delphi.
    As-tu essayé de lancer ton programme compilé à partir de l'explorateur de fichiers ?
    Obtiens-tu un message d'erreur ? Si oui, lequel ?
    De retour parmis vous après 10 ans!!

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 33
    Points : 12
    Points
    12
    Par défaut
    alor
    - j'obtien cette fentre lors de l'execution via delphi (f9)

    - A partir de l'explorateur (donc le .exe directement) le programme n'affiche pas d'erreur mais se ferme directement.

    - Oui, j'obtion se message d'erreur :


    Echec du projet C:\Documents and settings\maxime\ Mes documents\ Mes telechargements\delphi\speak\agirvoix\project1.exe avec le message : 'access violation at 0x0012f708: write of adress 0x0836f6cc'. Processus stoppé. Utilisez Pas-à-Pas ou Exécuter pour continuer.
    Ce message aparait juste au desus de la fentre de CPu ou je sait plus comment vous appelez ca (la ScreenShot), et lors de son execution via delphi pas si je l'execute directement le exe (cf: plus haut).

  8. #8
    Membre habitué
    Avatar de Leobaillard
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2004
    Messages
    313
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 313
    Points : 171
    Points
    171
    Par défaut Mea Culpa
    Je me permet de poster ici car j'ai le même problème (enfin presque) et j'ai malencontreusement ouvert un nouveau sujet. :S Mea Culpa...

    Donc si vous ne voulez pas continuez ici on peut allez dans mon sujet ou rester ici (dans ce cas je ferme mon sujet ).

    La différence est que moi la ligne qui bloque (d'après Delphi) est celle-ci :

    Mon message d'origine :

    Bonjour !

    Je suis entrain d'apprendre à utiliser les Micro$ Agents pour faire de la reconnaissance vocale dans mes applis. J'ai lu dans un tuto qu'il fallait au préalable changer la langue de l'agent car le Français n'était pas reconnu.

    Je fais donc :
    Code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Agent.LanguageID:=$409;

    Et lorsque mon Delphi lance cette action, je reçoit :
    ---------------------------
    Notification d'une exception du débogueur
    ---------------------------
    Le projet Project1.exe a provoqué une classe d'exception EAccessViolation avec le message 'Violation d'accès à l'adresse 00465567 dans le module 'Project1.exe'. Lecture de l'adresse 00000000'. Processus stoppé. Utilisez Pas-à-pas ou Exécuter pour continuer.
    ---------------------------
    OK Aide
    ---------------------------
    Que puis-je faire pour résoudrece problème ?

    Merci d'avance
    /// ( : Léo : ) \\\
    ---C'est parce que la vitesse de la lumière est supérieure à celle du son, que certains paraissent brillants avant d'avoir l'air con---
    http://leobaillard.org (Hébergement gratuit, prog, forums, et autres)

    -------------------------

    L'orbe du temps (Zelda like 2D en Delphi) : Le Site

Discussions similaires

  1. [Problème] Reconnaissance vocale avec Sphinx4
    Par yannnnnnnnnn dans le forum Multimédia
    Réponses: 0
    Dernier message: 13/03/2010, 19h18
  2. Probleme avec le service SQl server Agent
    Par Tydher dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 05/03/2010, 15h09
  3. Problème avec la reconnaissance vocale
    Par Amnell dans le forum C#
    Réponses: 10
    Dernier message: 22/11/2009, 21h23
  4. Problemes de reconnaissance vocale
    Par Astaroth dans le forum C#
    Réponses: 0
    Dernier message: 08/10/2009, 11h00
  5. Synthèse et reconnaissance vocale avec speech sdk 5.1
    Par katebe dans le forum Windows Forms
    Réponses: 1
    Dernier message: 07/03/2009, 16h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo