La Reconnaissance Vocale Microsoft Plate-Forme
J'ai écrit une application en C# pour la reconnaissance vocale à l'aide du Système.Discours qui fonctionne très bien sur Windows 7.
Cependant, je suis après la création de la même application qui fonctionne sur windows 2003 (x86).
Mon environnement de programmation:
Windows 7 x64 Pro
Visual Studio 2008
Afin de développer cette application dans mon environnement de programmation que j'ai installé:
1.Vocale de Microsoft de la Plate - forme d'Exécution du Serveur (Version 10.1) (x86)
2.Microsoft Speech Platform - Kit de Développement Logiciel (SDK) (Version 10.1) (x86)
3.Vocale De Microsoft De La Plate - Forme D'Exécution Du Serveur Langues (Version 10.1)
(ici installé SR pour fr-GB)
Dans mon programme à la place de Système.Discours que j'ai utilisé Microsoft.De la parole.La reconnaissance;
Collé ce code de documentation du kit de développement:
using Microsoft.Speech.Recognition;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//Create a new SpeechRecognitionEngine instance.
sre = new SpeechRecognitionEngine();
//Create a simple grammar that recognizes “red”, “green”, or “blue”.
Choices colors = new Choices();
colors.Add("red");
colors.Add("green");
colors.Add("blue");
GrammarBuilder gb = new GrammarBuilder();
gb.Append(colors);
//Create the actual Grammar instance, and then load it into the speech recognizer.
Grammar g = new Grammar(gb);
sre.LoadGrammar(g);
//Register a handler for the SpeechRecognized event.
sre.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(sre_SpeechRecognized);
sre.SetInputToDefaultAudioDevice();
sre.RecognizeAsync(RecognizeMode.Multiple);
}
//Simple handler for the SpeechRecognized event.
void sre_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
MessageBox.Show(e.Result.Text);
}
SpeechRecognitionEngine sre;
}
}
J'ai aussi jeu de plateforme cible x86 dans les propriétés du projet. Le Code compile mais une fois que j'ai exécuter ou déboguer la reconnaissance ne fonctionne pas. Aucune idée de ce qui me manque?
L'idée est de le faire fonctionner sur la machine locale d'abord et, plus tard, de le déployer pour windows 2003. Ma programmation de la machine est sous Windows 7 x64 VS2008 qui a Runtime SDK et frfr SR installé comme détaillé ci-dessus. Compile, fonctionne sur ma machine, mais il ne reconnaît pas le choix (noms de couleurs)
Lors du débogage, j'ai remarqué que dans sre = new SpeechRecognitionEngine(); propriétés: EndSilenceTmeout EndSilenceTmeoutAmbiguous jeter l'exception: "Reconnaissance paramètre n'est pas pris en charge par le module de reconnaissance mais le programme continue de s'exécuter.
OriginalL'auteur Artur Kędzior | 2010-08-30
Vous devez vous connecter pour publier un commentaire.
Vous êtes en train de créer un moteur de reconnaissance vocale sans spécification d'un moteur. Depuis que vous avez installé le fr-GB moteur, vous devez spécifier un cultureinfo (ou un recognizerinfo):
OriginalL'auteur Eric Brown