2010-05-25 16 views
5

Sto creando un sistema di controllo Smart House in questo momento e ho un piccolo problema. Stavo pensando di usare Cosmos per un sistema di base e aggiungere le necessarie librerie dello spazio dei nomi, ma dato che il solito spazio dei nomi System.Speech.Recognition dipende troppo dall'API di Windows Speech, devo dimenticarlo di usarlo.C# Riconoscimento vocale

Quindi la mia domanda è, c'è qualche (gratuito se possibile) il riconoscimento vocale e/o discorso biblioteca sintetizzatore vocale per C#, che ha il seguente:

  • il supporto per multi-lingua che parla
  • estrazione il contenuto del testo da campione discorso
  • sintetizzazione vocale con selezionabile (o scritto dall'utente) modello di intervento (voice)

Un uso generale, i non-finestre biblioteca dipendente woul essere il migliore e, naturalmente, se fosse anche gratuito.

+2

Wow, non ho mai saputo che esisteva [riconoscimento vocale incorporato] (http://msdn.microsoft.com/en-us/library/system.speech.recognition.aspx) nel framework .net. Inoltre, [this] (http://msdn.microsoft.com/en-us/library/system.speech.synthesis.aspx). –

+0

@BlueRaja: dovresti fare una risposta. Ti svaluterei. Non sapevo nemmeno di questo. – JasCav

+0

Non credo che fonix232 non stia usando un sistema operativo Microsoft per questo - apparentemente usa un OS open source scritto in IL. Il collegamento è http://www.gocosmos.org/index.en.aspx. –

risposta

2

Voxeo offers developer accounts che è possibile utilizzare per sviluppare un sistema domotico. L'ho interfacciato a my own home automation system per un piccolo sottoinsieme di comandi che la mia casa comprende e funziona benissimo. Avrai bisogno di imparare alcuni VoiceXML per usarlo.

SAPI funziona correttamente per la sintesi vocale; Io uso SAPI nel mio sistema per istruzioni vocali in casa come una previsione del tempo che passa sopra gli altoparlanti al mattino quando entri nel bagno. Se Cosmos non ti consente di includere tutte le DLL necessarie, potresti creare un servizio separato utilizzando SAPI e quindi utilizzare WCF (o altro) per comunicare tra loro ??

Per il problema correlato di comprensione del linguaggio naturale in un modulo dattiloscritto ho sviluppato un C# NLP Engine che spero di poter rendere disponibile per non commerciale in futuro.

Estrarre il testo dal parlato senza specificare alcuna grammatica in anticipo è un problema molto difficile e sarà soggetto a errori. Anche se potessi risolverlo, avresti ancora il problema di cercare di capire cosa hanno detto usando la PNL. Costruire una grammatica che guida il riconoscitore ai tipi di frasi che si desidera riconoscere (come fa VoiceXML) è probabile che raggiunga una precisione molto più elevata.

2

Partenza questo progetto: http://cmusphinx.sourceforge.net/

E 'un progetto di riconoscimento vocale open source. È formabile con tutte le lingue che vuoi e dal momento che è open source puoi modificarlo in base alle tue esigenze o espanderlo.

+0

L'unico problema è che non si tratta di una libreria puramente C#. E come ho detto, voglio usare una libreria puramente C#, come la richiede Cosmos. – fonix232

+0

hi icemanind, sto cercando un programma di riconoscimento vocale per ottenere i migliori risultati possibili, credi che CMU Sphinx possa offrirmi questo? –

+0

@FernandoSantiago - Penso che sia la migliore opzione GRATUITA. Se non hai soldi da spendere, allora è la strada da percorrere. Tieni presente, come sottolineato da fonix232, il suo non puro C#. Ha anche un po 'di C++ sotto il cofano – Icemanind