2012-04-03 13 views
6

Ich versuche, ein C# -Programm zu machen, das die Microsoft Speech Recognition API (mit Kinect) verwendet, aber ich habe Mühe, loszulegen. Ich habe die Verwendung von AussagenMicrosoft Spracherkennung - welche Referenz muss ich hinzufügen?

using Microsoft.Speech.AudioFormat; 
using Microsoft.Speech.Recognition; 

Aber es gibt mir die Fehlermeldung „der Typ oder Namespace-Name‚Speech‘existiert nicht im Namensraum‚Microsoft‘. Sind Sie eine Assembly Referenz fehlt?“

Weiß jemand was hinzuzufügen? System.Speech macht den Trick nicht.

+1

Haben fügen Sie den Verweis auf dem Microsoft Speech Recognition API DLL oder Projekt zu einem Projekt? – Alexandre

+0

Siehe http://SpeechTurtle.codeplex.com für ein Projekt, das mit und ohne Kinect und Microsoft.Speech funktioniert, um eine Schildkröte mit Ihrer Stimme zu steuern (basierend auf einem Kinect SDK-Beispiel). Aktuelle Version ist für 1.8 SDK (Kinect für Xbox 360 und Kinect für Windows v1), planen, es zu aktualisieren, um mit 2.0 SDK zu arbeiten (über MEF-Plugin) in der Zukunft (um auch KfW v2 und Kinect für Xbox One zu unterstützen) wenn ich Holen Sie sich die neuere Kinect für die Xbox One und den Adapter für Windows –

Antwort

18

Stellen Sie sicher, dass diese Versammlung zu Ihrem Projekt hinzufügen: C: \ Programme \ Microsoft SDKs \ Speech \ v11.0 \ Assembly \ Microsoft.Speech.dll.

Weitere Details finden Sie auf MSDN

+1

Ich habe es selbst nicht versucht, aber es sollte in 64 Bit funktionieren. –

1

Versuchen Sie stattdessen den Namespace System.Speech.Recognition. Der Microsoft.Speech.Recognition-Namespace ist Teil des Office Communications Server-Produkts.

Hilfe-Link: System.Speech.Recognition

Office Communications Server (UCMA Application) UCMA Speech SDK

+0

Ich bin in groben Zügen [diese] (http://www.ximplosionx.com/2011/06/22/intro-to-the-kinect-sdkadding-speech- Anerkennung /) Führer. Ist das veraltet? Ich dachte, dass Microsoft.Speech und System.Speech getrennt waren? – user1002973

+0

@ user1002973 - Bearbeitet. –

+0

Microsoft.Speech und System.Speech sind ähnlich, aber anders. Siehe http://stackoverflow.com/questions/2977338/what-ist-the-difference-between-system-speech-recognition-and-microsoft-speech-re –

8

finden Ich denke, es einige Verwirrung, da dadurch das Kinect SDK verwenden und einige der Antworten hier betrachten die zugehörigen SDKs (System.Speech in .net und Microsoft.Speech dass wird mit einer Vielzahl von Microsoft Server-Produkten und der Server Speech Platform vertrieben). Aus Ihren Kommentaren in den anderen Antworten geht hervor, dass Kinect SDK den Microsoft.Speech-Namespace verwendet und Ihre App auf die Microsoft.Speech.dll verweisen muss, die mit dem Kinect SDK geliefert wurde.

Nur um zu helfen, ein paar Dinge zu klären (hoffe ich):

System.Speech ist ein Kern-.NET-API und eine Erkennungseinheit, die es in Windows implementiert 7. Es ist ein Client oder Desktop-Erkenner ist und für bestimmte Benutzer trainiert werden und eine Diktatgrammatik enthalten.

Microsoft.Speech ist eine .net API, die ähnlich ist, aber ein bisschen anders. Spracherkenner, die Microsoft.Speech implitionieren, sind Teil verschiedener Server-Produkte wie UCMA und Microsoft Server Speech Platform.

Wie Sie darauf hinweisen, ist Microsoft.Speech auch die API für die Kinect-Erkennung verwendet. Dies dokumentiert der MSDN-Link Philipp Schmid in einem Kommentar Speech C# How To (Kinect). Ich habe nicht mit Kinect gearbeitet, aber das macht Sinn, da der Spracherkenner kein Sprechertraining benötigt.

Diese Ressourcen sind ein bisschen out date, weil die predate Kinect, aber sie können hilfreich sein:

Microsoft.Speech und System.Speech sind ähnlich, aber anders. Siehe What is the difference between System.Speech.Recognition and Microsoft.Speech.Recognition?

Um mit .NET Rede zu beginnen, gibt es einen sehr guten Artikel, der vor ein paar Jahren bei http://msdn.microsoft.com/en-us/magazine/cc163663.aspx veröffentlicht wurde. Es ist wahrscheinlich der beste einführende Artikel, den ich bisher gefunden habe. Es ist etwas veraltet, aber sehr helfpul. (Die AppendResultKeyValue-Methode wurde nach der Betaversion gelöscht.) Dieser Artikel zeigt den System.Speech-Namespace, der jedoch größtenteils direkt Microsoft.Speech zugeordnet werden kann.

4

Sie müssen dies tun, was für mich funktioniert.

Import Microsoft.Speech.dll unter der folgenden Adresse:

C:\Windows\assembly\GAC_MSIL\Microsoft.Speech\11.0.0.0__31bf3856ad364e35\Microsoft.Speech.dll 
Verwandte Themen