Ich schrieb eine App in C# für Spracherkennung mit System.Speech, die auf Windows 7 funktioniert. Allerdings bin ich nach dem Erstellen der gleichen App, die auf Windows 2003 (x86) funktioniert.Microsoft Spracherkennungsplattform
Meine Programmierumgebung: Windows 7 x64 Pro Visual Studio 2008
Um diese Anwendung in meiner Programmierumgebung zu entwickeln, habe ich installiert:
1.Microsoft Speech Platform - Server Runtime (Version 10.1) (x86)
2.Microsoft Speech Platform - Software Development Kit (SDK) (Version 10.1) (x86)
3.Microsoft Speech Platform - Server Runtime Sprachen (Version 10,1)
(hier installiert SR für en-GB)
In meinem Programm statt Systems .Sprache Ich habe Microsoft.Speech.Recognition;
diesen Code aus SDK-Dokumentation Pasted:
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;
}
}
Ich habe Plattform Ziel x86 in Projekteigenschaften auch. Der Code kompiliert, aber sobald ich ihn starte oder debugge, funktioniert die Erkennung nicht. Irgendeine Idee was vermisse ich?
zumindest unter Windows XP können Sie nicht Spracherkennungs-Software ohne Installation von Komponenten aus dem SDK laufen. Sind Sie sicher, dass die erforderlichen Komponenten auf dem Zielcomputer vorhanden sind? –
Die Idee ist, diese zuerst auf dem lokalen Rechner zu installieren und später auf Windows 2003 zu installieren. Mein Programmiergerät ist Windows 7 x64 VS2008, auf dem Runtime, SDK und enGB SR wie oben beschrieben installiert sind. Kompiliert, läuft auf meinem Rechner, erkennt aber keine Auswahl (Farbnamen) –
Beim Debuggen habe ich festgestellt, dass in sre = new SpeechRecognitionEngine(); Eigenschaften: EndSilenceTmeout EndSilenceTmeoutAmbiguous Wurf Ausnahme:.. „Recognizer von Erkennungs aber das Programm weiter auszuführen –