2012-04-03 10 views
6

Próbuję utworzyć program w języku C#, który korzysta z interfejsu Microsoft Speech Recognition API (z Kinect), ale zaczynam walczyć. mam te wykorzystujące sprawozdanieMicrosoft Speech Recognition - jakie odniesienie muszę dodać?

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

Ale to daje mi błąd „typu lub obszaru nazw«Speech»nie istnieje w obszarze nazw«Microsoft». Czy brakuje odwołania do zestawu?”

Czy ktoś wie, co dodać? System.Speech nie robi lewy.

+1

Czy dodać odwołanie do API DLL Microsoft Speech Recognition lub projektu do projektu? – Alexandre

+0

Zobacz http://SpeechTurtle.codeplex.com dla projektu, który działa zarówno z jak i bez Kinect i Microsoft.Speech do prowadzenia żółwia za pomocą głosu (na podstawie próbki Kinect SDK). Obecna wersja jest dla 1.8 SDK (Kinect dla Xbox 360 i Kinect dla Windows v1), planuje zaktualizować go do pracy z 2.0 SDK też (poprzez wtyczkę MEF) w przyszłości (aby również wspierać KfW v2 i Kinect dla Xbox One), kiedy pobierz nowszą wersję urządzenia Kinect dla konsoli Xbox One i adaptera dla systemu Windows –

Odpowiedz

18

Upewnij się, że dodatek ten zespół do projektu: C: \ Program Files \ Microsoft SDK \ Speech \ V11.0 \ assembly \ Microsoft.Speech.dll.

Więcej szczegółów można znaleźć na MSDN

+1

Nie próbowałem tego sam, ale powinien działać w 64-bitowym. –

1

Wypróbuj zamiast tego przestrzeń nazw System.Speech.Recognition. Przestrzeń nazw Microsoft.Speech.Recognition jest częścią produktu Office Communications Server.

Link

Pomoc: System.Speech.Recognition

Office Communications Server (UCMA Application) UCMA Speech SDK

+0

Z grubsza śledzę [to] (http://www.ximplosionx.com/2011/06/22/intro- to-the-kinect-sdkadding-speech- uznanie /). Czy to jest nieaktualne? Myślałem, że Microsoft.Speech i System.Speech były oddzielne? – user1002973

+0

@ user1002973 - Edytowano. –

+0

Microsoft.Speech i System.Speech są podobne, ale różne. Zobacz http://stackoverflow.com/questions/2977338/what-is-the-difference-between-system-speech-recognition-and-microsoft-speech-re –

8

myślę, że jest trochę zamieszania, bo używasz Kinect SDK i niektóre odpowiedzi tutaj traktują powiązanych SDK (System.Speech w .NET i Microsoft.Speech że jest dystrybuowany z różnymi produktami serwerowymi firmy Microsoft i platformą Server Speech). Z twoich komentarzy w innych odpowiedziach wydaje się, że Kinect SDK używa przestrzeni nazw Microsoft.Speech, a twoja aplikacja musi odwoływać się do Microsoft.Speech.dll, który był dołączony do zestawu Kinect SDK.

Wystarczy, aby pomóc wyjaśnić kilka rzeczy (mam nadzieję):

System.Speech jest rdzeń .NET API i rozpoznawania, który implementuje to jest wliczone w Windows 7. Jest to klient lub stacjonarny rozpoznawania i może być przeszkolonym dla konkretnych użytkowników i zawiera gramatykę dyktowania.

Microsoft.Speech jest API .NET, który jest podobny, ale nieco inny. Recognizers, które implikują Microsoft.Speech są częścią różnych produktów serwerowych, takich jak UCMA i Microsoft Server Speech Platform.

Jak podkreślasz, Microsoft.Speech to także interfejs API używany do rozpoznawania Kinect. Jest to udokumentowane w linku MSDN Philipp Schmid wspomnianym w komentarzu Speech C# How To (Kinect). Nie współpracowałem z Kinect, ale ma to sens, ponieważ urządzenie rozpoznające nie wymaga szkolenia głośników.

Te zasoby są nieco data, ponieważ wcześniejsza Kinect, ale mogą być pomocne:

Microsoft.Speech i System.Speech są podobne, ale inaczej. Zobacz: What is the difference between System.Speech.Recognition and Microsoft.Speech.Recognition?

Aby rozpocząć korzystanie z mowy .NET, istnieje bardzo dobry artykuł, który został opublikowany kilka lat temu pod numerem http://msdn.microsoft.com/en-us/magazine/cc163663.aspx. To chyba najlepszy artykuł wprowadzający, jaki do tej pory znalazłem. Jest trochę przestarzały, ale bardzo helplowy. (Metoda AppendResultKeyValue została usunięta po wersji beta.) W tym artykule przedstawiono przestrzeń nazw System.Speech, ale większość z nich można bezpośrednio zmapować do Microsoft.Speech.

4

Musisz to zrobić, co działa dla mnie.

importu Microsoft.Speech.dll z następującej lokalizacji:

C:\Windows\assembly\GAC_MSIL\Microsoft.Speech\11.0.0.0__31bf3856ad364e35\Microsoft.Speech.dll 
Powiązane problemy