Crear asistente de voz

Buen dia Recientemente, me entusiasmó crear un asistente de voz. Enfrenté mil millones de problemas. Pero aún así decidí mis preguntas.

Para comenzar, descargue Visual Studio .

Ahora necesitas descargar 3 paquetes de microsoft

  1. https://www.microsoft.com/en-us/download/details.aspx?id=3971
  2. https://www.microsoft.com/en-us/download/details.aspx?id=24003
  3. https://www.microsoft.com/en-us/download/details.aspx?id=24974

Cuando descargue, elija la plataforma x86 (es más fácil y no tiene errores).

Ahora Al elegir un idioma, elija cualquiera con el final TELE (cuando descargue esta plataforma Microsoft Speech - Idiomas de tiempo de ejecución del servidor), esto es imprescindible.



Al final de la instalación del paquete de idioma, no pasará nada, no habrá botones de "finalizar" o "finalizar", no se asuste, todo está bien.

Ahora ve a través de Visual Studio, crea un nuevo proyecto (aplicación de formularios Windows Forms)



Establezca 1 etiqueta y no cambie su nombre:



Abra "Explorador de soluciones" o "Navegador de proyectos", también puede hacer clic en el botón "Proyecto" o "Proyecto" en el menú y 2 agregar un enlace "o" Agregar referencia ".

Aquí tienes esta ventana:



Haga clic en "navegador" o "Examinar" y vaya a la carpeta "C: \ Archivos de programa (x86) \ Microsoft SDKs \ Speech \ v11.0 \ Assembly" y habrá 1 biblioteca DLL, selecciónela:



Nuevamente agregamos el enlace, pero ya es estándar. Estamos buscando "System.Speech" (ver abajo por qué). Ponemos un daw y hacemos clic en el botón "Aceptar".



¡Pasamos al código! Primero, cree un evento para el formulario "mostrado". Puede hacer esto haciendo clic en la pestaña "Propiedades" con una cremallera:



¡No es necesario reescribir el título! Solo 2 clics en el campo de entrada.

En la parte superior, incluimos las siguientes clases en el proyecto:

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Microsoft.Speech.Recognition; using System.IO; using System.Speech.Synthesis; using System.Diagnostics; using System.Threading; 

Ahora justo debajo

 public Form1() { InitializeComponent(); } 

Nosotros escribimos

 static Label l; static void sre_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) { if (e.Result.Confidence > 0.7) { l.Text = e.Result.Text; if(e.Result.Text == "  "){ //  .     ( //      speak,   !  ,  // speak("  ."); } }//  0,7   . //  .  ,   .    // } 

Creamos una variable y una clase que manejará el habla.

En nuestro evento "mostrado", rellenamos el siguiente fragmento de código.

 l = label1; System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("ru-ru"); // ru-ru   ,   en-us  ..       //   new System.Globalization.CultureInfo("ru-ru")  // System.Globalization.CultureInfo.CurrentCulture SpeechRecognitionEngine sre = new SpeechRecognitionEngine(ci); sre.SetInputToDefaultAudioDevice(); sre.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(sre_SpeechRecognized); Choices numbers = new Choices(); numbers.Add(new string[] { "", "", "", "", "", "  " }); //   // GrammarBuilder gb = new GrammarBuilder(); gb.Culture = ci; gb.Append(numbers); Grammar g = new Grammar(gb); sre.LoadGrammar(g); sre.RecognizeAsync(RecognizeMode.Multiple); 

Ahora captamos las palabras. Luego creas funciones en la función

 static void sre_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) 

o puede crear un manejador de funciones.

Ahora hacemos que suene la voz de nuestro asistente. Hacemos hablar una nueva función. Esta función capturará el texto y lo expresará.

 private void speak(string text) { SpeechSynthesizer speaker = new SpeechSynthesizer(); speaker.Rate = 1; speaker.Volume = 100; speaker.Speak(text); } 

Felicitaciones, su mini asistente de voz está listo. Lo estamos finalizando y no será peor que "Ok Google".

Para todas las preguntas, escriba a telegramas @Cp_Troia. Ayudaré lo que pueda.

Mi fuente Antes de decir algo, diga "Sudo", y luego un comando, por ejemplo, "Abrir Google Chrome" o "hola", hay muchos comandos allí, incluso puede abrir un cuaderno y una calculadora, abrir YouTube, etc.

Source: https://habr.com/ru/post/451718/


All Articles