Riconoscimento vocale Microsoft: quale riferimento devo aggiungere?

Sto cercando di creare un programma C # che utilizzi l’API di riconoscimento vocale di Microsoft (con Kinect) ma sto cercando di iniziare. Ho le dichiarazioni usando

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

Ma mi sta dando l’errore “il tipo o il nome del namespace ‘Speech’ non esiste nello spazio dei nomi ‘Microsoft’. Ti manca un riferimento all’assembly?”

Qualcuno sa cosa aggiungere? System.Speech non fa il trucco.

Assicurati di aggiungere questo assembly al tuo progetto: C: \ Programmi \ Microsoft SDK \ Speech \ v11.0 \ Assembly \ Microsoft.Speech.dll.

Maggiori dettagli possono essere trovati su MSDN

Penso che ci sia un po ‘di confusione perché stai usando l’SDK Kinect e alcune delle risposte qui riguardano gli SDK correlati (System.Speech in .net e Microsoft.Speech che è distribuito con una varietà di prodotti server Microsoft e la Server Speech Platform) . Dai tuoi commenti nelle altre risposte sembra che Kinect SDK utilizzi lo spazio dei nomi Microsoft.Speech e la tua app deve fare riferimento a Microsoft.Speech.dll fornito con il Kinect SDK.

Solo per aiutare a chiarire alcune cose (spero):

System.Speech è un’API .NET di base e un riconoscitore che lo implementa è incluso in Windows 7. È un riconoscimento client o desktop e può essere addestrato per utenti specifici e include una grammatica di dettatura.

Microsoft.Speech è un’API .net simile ma leggermente diversa. I riconoscitori che impongono Microsoft.Speech fanno parte di vari prodotti server come UCMA e la piattaforma vocale di Microsoft Server .

Come hai sottolineato, Microsoft.Speech è anche l’API utilizzata per il riconoscimento Kinect. Questo è documentato nel link MSDN Philipp Schmid citato in un commento Speech C # How To (Kinect) . Non ho lavorato con Kinect, ma questo ha senso dal momento che il riconoscimento non richiede l’addestramento degli altoparlanti.

Queste risorse sono un po ‘datate, perché il predetto Kinect, ma possono essere utili:

Microsoft.Speech e System.Speech sono simili, ma diversi. Vedere Qual è la differenza tra System.Speech.Recognition e Microsoft.Speech.Recognition?

Per iniziare con .NET speech, c’è un ottimo articolo che è stato pubblicato alcuni anni fa su http://msdn.microsoft.com/en-us/magazine/cc163663.aspx . È probabilmente il miglior articolo introduttivo che ho trovato finora. È un po ‘obsoleto, ma molto helfpul. (Il metodo AppendResultKeyValue è stato eliminato dopo la versione beta.) Questo articolo mostra lo spazio dei nomi System.Speech, ma la maggior parte di questi può essere mappata direttamente a Microsoft.Speech.

Devi fare questo, che funziona per me.

Importa Microsoft.Speech.dll dal seguente percorso:

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

Prova invece lo spazio dei nomi System.Speech.Recognition . Lo spazio dei nomi Microsoft.Speech.Recognition fa parte del prodotto Office Communications Server.

Link della Guida: System.Speech.Recognition

Office Communications Server (applicazione UCMA ) SDK vocale di UCMA