Hace un tiempo se hizo una pregunta similar sobre Joel en software. Puede usar el espacio de nombre System.Speech.Recognition para hacer esto ... con algunas limitaciones. Agregue System.Speech (debe estar en el GAC) a su proyecto. Aquí hay un código de ejemplo para una aplicación de WinForms:
public partial class Form1 : Form
{
SpeechRecognizer rec = new SpeechRecognizer();
public Form1()
{
InitializeComponent();
rec.SpeechRecognized += rec_SpeechRecognized;
}
void rec_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
lblLetter.Text = e.Result.Text;
}
void Form1_Load(object sender, EventArgs e)
{
var c = new Choices();
for (var i = 0; i <= 100; i++)
c.Add(i.ToString());
var gb = new GrammarBuilder(c);
var g = new Grammar(gb);
rec.LoadGrammar(g);
rec.Enabled = true;
}
Esto reconoce los números de 1 a 100, y muestra el número resultante en el formulario. Necesitará un formulario con una etiqueta llamada lblLetter.
System.Speech solo funciona con una lista predefinida de palabras o frases; no es exactamente NaturallySpeaking, ni en versatilidad ni en calidad de reconocimiento. Pero no tiene que entrenarlo para la voz del usuario, y si solo tiene algunas cosas diferentes que el usuario puede decir, funciona razonablemente bien. ¡Y es gratis! (si tiene Visual Studio)
No funcionará bien si utiliza frases muy cortas; Hice un programa para que mi hijo dijera letras del abecedario y las vea en la pantalla, pero no funciona bien, ya que muchas de las letras suenan igual (especialmente por la boca de un niño de cuatro años).
En cuanto a las opciones más flexibles ... bueno, está el ya mencionado NaturallySpeaking, que tiene un SDK. Pero tiene que ponerse en contacto con las ventas para obtener cualquier tipo de acceso a él, y no se enumera ningún precio, por lo que aparece como uno de esos "¿Cuánto cuesta? Bueno, ¿cuánto tiene?" tipo de cosas. No parece haber una opción de "descargar y jugar con eso". :(
En cuanto a texto a voz, System.Speech.Synthesis hace esto. Es incluso más fácil que el reconocimiento de voz. Escribí un pequeño programa que me permitía escribir, presionar Enter y leer el texto en voz alta. edad se hipnotizado por ella :) ("Papi, quiero TAWK que da wobot.")
Por favor, aclare ... ¿Qué quiere decir? ¿Te refieres a un motor de reconocimiento? Una estructura para la aplicación? Si incluso debería intentar hacerlo? –
Principalmente estoy buscando un motor para usar. Necesito poder decirle a mis gerentes si la idea es factible o no. Ya tengo una idea aproximada de cómo estructurar la aplicación alrededor del motor, todo lo que necesito es conectar el motor. – RichieACC