2010-05-25 23 views
5

Estoy haciendo un sistema de control de casa inteligente en este momento, y tengo un pequeño problema. Estaba pensando en utilizar Cosmos para un sistema base y agregarle las bibliotecas de espacio de nombres necesarias, pero como el espacio de nombres System.Speech.Recognition habitual depende demasiado de Windows Speech API, tengo que olvidarme de usarlo.C# reconocimiento de voz

Así que mi pregunta es, ¿hay alguna (gratis si es posible) de reconocimiento de voz y/o biblioteca sintetizador de voz del habla para C#, lo que tiene la siguiente:

  • soporte para varios idiomas que habla
  • extracción contenido de texto de muestra de voz
  • sintetizar el habla con seleccionable (o-escrito por el usuario) patrón de habla (voz)

Un uso general, no es de windows biblioteca dependiente woul d ser el mejor, y por supuesto, si fuera gratis también.

+2

Wow, nunca imaginé que hubiera [reconocimiento de voz incorporado] (http://msdn.microsoft.com/en-us/library/system.speech.recognition.aspx) en .NET Framework. Además, [esto] (http://msdn.microsoft.com/en-us/library/system.speech.synthesis.aspx). –

+0

@BlueRaja - Deberías hacer de esto una respuesta. Te volvería a votar. Yo tampoco sabía sobre esto. – JasCav

+0

No creo que fonix232 no esté usando un sistema operativo de Microsoft para esto, aparentemente está usando un sistema operativo de código abierto escrito en IL. El enlace es http://www.gocosmos.org/index.en.aspx. –

Respuesta

2

Voxeo offers developer accounts que puede utilizar para desarrollar un sistema domótico de voz. Lo interconecté a my own home automation system para un pequeño subconjunto de los comandos que mi casa entiende y funciona muy bien. Tendrá que aprender algunos VoiceXML para usarlo.

SAPI funciona bien para síntesis de voz; Uso SAPI en mi sistema para las indicaciones verbales en la casa, como un pronóstico del tiempo que viene por las bocinas en la mañana cuando entras al baño. Si Cosmos no le permite incluir todas las DLL que necesita, ¿podría crear un servicio separado usando SAPI y luego usar WCF (u otro) para comunicarse entre ellos?

Para el problema relacionado de entender el lenguaje natural en una forma mecanografiada he desarrollado un C# NLP Engine que espero poder poner a disposición para fines no comerciales en algún momento en el futuro.

Extraer el texto del discurso sin especificar ninguna gramática por adelantado es un problema muy difícil y va a ser propenso a errores. Incluso si pudieras resolver eso, igual tendrías el problema de tratar de entender lo que dijeron usando NLP. Construir una gramática que guíe al reconocedor a los tipos de oraciones que quiere reconocer (como lo hace VoiceXML) es probable que logre una precisión mucho mayor.

2

Comprobar a cabo este proyecto: http://cmusphinx.sourceforge.net/

Es un proyecto de reconocimiento de voz de código abierto. Se puede aprender con el idioma que desee y, dado que es de código abierto, puede modificarlo para adaptarlo a sus necesidades o expandirlo.

+0

El único problema es que no es una biblioteca puramente C#. Y como dije, quiero usar una biblioteca puramente C#, como lo requiere Cosmos. – fonix232

+0

hi icemanind, estoy buscando un programa de reconocimiento de voz para obtener los mejores resultados posibles, ¿cree que CMU Sphinx puede ofrecerme esto? –

+0

@FernandoSantiago - Creo que es la mejor opción GRATIS. Si no tiene dinero para gastar, entonces es el camino a seguir. Tenga en cuenta que, como señaló fonix232, no es C# puro. También tiene algo de C++ bajo el capó – Icemanind

Cuestiones relacionadas