Prueba con esto en Consola C#:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Speech.Recognition; // No olvidar.
namespace Reconocimiento_voz_consola_02
{
class Program
{
public SpeechRecognitionEngine escucha
= new SpeechRecognitionEngine
();
static void Main(string[] args)
{
Console.WindowWidth = 80; // Redimensionando ventana consola.
Console.WindowHeight = 43;
Console.Title = "Reconicimiento voz 02"; // Título de la ventana.
Console.BackgroundColor = ConsoleColor.White; // Fondo pantalla blanco.
Console.Clear(); // Limpiar pantalla.
Console.ForegroundColor = ConsoleColor.Blue; // Color texto azul.
string entradaComandos = string.Empty;
Console.WriteLine(@"Elija una opción:
1) Activar reconocimiento de voz.
2) Salir del programa.");
Console.CursorVisible = true;
entradaComandos = Console.ReadLine().ToString();
switch (entradaComandos)
{
case "1":
Program escuchaProgram
= new Program
(); escuchaProgram.MicroActivo();
Console.WriteLine("Reconocimiento de voz activado. Escuchando...");
Console.ReadKey();
break;
case "2":
// Salir del programa.
// Aquí instrucciones para salir de esta aplicación.
break;
}
}
public void MicroActivo()
{
escucha.SetInputToDefaultAudioDevice(); // Abrir el dispositivo de audio. Micro.
escucha
.LoadGrammar(new DictationGrammar
()); // Escuchar tu voz desde el micro. escucha
.SpeechRecognized += new EventHandler
<SpeechRecognizedEventArgs
>(lector
); // Escribe las palabras. escucha.RecognizeAsync(RecognizeMode.Multiple); // Reconociendo varias palabas.
}
public void lector(object sender, SpeechRecognizedEventArgs e)
{
foreach (RecognizedWordUnit palabra in e.Result.Words)
{
Console.SetCursorPosition(10, 10);
Console.Write(palabra.ToString());
if (palabra.ToString() == "izquierda")
{
Console.Write("Palabra: ");
}
}
}
}
}
Ya dirás si algo funciona..