J'ai écrit une application en C# pour la reconnaissance vocale en utilisant System.Speech qui fonctionne bien sur Windows 7. Cependant, je suis après avoir créé la même application qui fonctionnera sur Windows 2003 (x86).Microsoft Speech Recognition Platform
Mon environnement de programmation: Windows 7 x64 Pro Visual Studio 2008
Afin de développer cette application dans mon environnement de programmation I installé:
1.Microsoft Speech Platform - Server Runtime (version 10.1) (x86)
2.Microsoft Speech Platform - Kit de développement logiciel (SDK) (version 10.1) (x86)
3.Microsoft Speech Platform - Server Runtime Langues (version 10,1)
(ici installé SR pour en-GB)
Dans mon programme au lieu de système .Speech J'ai utilisé Microsoft.Speech.Recognition;
COPIÉES ce code de documentation du SDK:
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;
}
}
I plateforme cible également mis à x86 dans les propriétés du projet. Le code compile mais une fois que je cours ou débogue la reconnaissance ne fonctionne pas. Une idée de ce qui me manque?
au moins sous Windows XP, vous ne pouvez pas exécuter la parole sans avoir à installer des composants du SDK. Êtes-vous sûr que les composants requis existent sur l'ordinateur cible? –
L'idée est de commencer par travailler sur la machine locale et de la déployer ensuite sur Windows 2003. Ma machine de programmation est Windows 7 x64 VS2008 avec Runtime, SDK et enGB SR comme détaillé ci-dessus. Compile, s'exécute sur ma machine mais ne reconnaît pas les choix (noms de couleurs) –
Lors du débogage j'ai remarqué que dans sre = new SpeechRecognitionEngine(); propriétés: EndSilenceTmeout EndSilenceTmeoutAmbiguous Exception throw: « Recognizer paramètre non pris en charge par mais reconnaisseur le programme continue d'exécuter –