Código de Visual CSharp .NET - Asistente de voz

Requerimientos

bueno el sistema es Window 8.1, Framework 4.0, y las librerías pues están en los using, perdón si no puedo explicarles mas, porque yo solo repetía lo que veía en los tutoriales de youtube, espero alguien pueda hacerlo mejor, y agregue o cambie lo necesario.

1.0
estrellaestrellaestrellaestrellaestrella(4)

Actualizado el 2 de Enero del 2018 (Publicado el 29 de Diciembre del 2017)gráfica de visualizaciones de la versión: 1.0
4.980 visualizaciones desde el 29 de Diciembre del 2017
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Speech.Recognition; //reconocimiento del mic.
using System.Speech.Synthesis; // voz del asistente.
using System.IO;
using nombre1Final.Properties;
 
namespace nombre1Final
{
    /// <summary>
    /// Lógica de interacción para Minimizado.xaml
    /// </summary>
    public partial class Minimizado : Window
    {
        SpeechRecognitionEngine reconocedor = new SpeechRecognitionEngine(); // inicio del reconocimiento.
        SpeechSynthesizer nombre1 = new SpeechSynthesizer(); // inicio del aistente.
        string Speech;
        bool habilitarReconocimiento = false;
 
        public Minimizado()
        {
            InitializeComponent();
            LblTextoSalida.Content = "Para activar el micrófono diga:  " + Settings.Default.NomAsist;
            InicioMicApagado();
        }
 
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            InicioDeGramaticas();
            nombre1.SpeakAsync("Iniciando el asistente, . .En línea");
        }
 
        void InicioDeGramaticas()
        {
 
            LoadGrammarAlarma(); // carga las gramaticas dela alarma por voz
 
            reconocedor.LoadGrammarAsync(new Grammar(new GrammarBuilder(new Choices(File.ReadAllLines(@"Comandos\ComandoTexto.txt"))))); // carga los comandos de la carpeta.
 
            reconocedor.RequestRecognizerUpdate();// actualizador del mic.
            reconocedor.SpeechRecognized += Reconocedor_SpeechRecognized; // cuando se habla por el mic.
 
            nombre1.SpeakStarted += (nombre1)_SpeakStarted; // reconoce el comando.
            nombre1.SpeakCompleted += (nombre1)_SpeakCompleted; // cuando el asistente termina de hablar.
 
            reconocedor.AudioLevelUpdated += Reconocedor_AudioLevelUpdated; // obtiene el nivel de entrada del mic.
            reconocedor.SetInputToDefaultAudioDevice(); // selecciona los dispositivos de audio por defecto.
            reconocedor.RecognizeAsync(RecognizeMode.Multiple); // mic siempre activo.
        }
 
        private void Reconocedor_AudioLevelUpdated(object sender, AudioLevelUpdatedEventArgs e)
        {
            int nivelAudio = e.AudioLevel;
            PbNivelAudio.Value = nivelAudio;
        } // muestra el nivel del mic
 
        void nombre1_SpeakCompleted(object sender, SpeakCompletedEventArgs e)
        {
            reconocedor.RecognizeAsync(RecognizeMode.Multiple);
            LblStatus.Visibility = Visibility.Visible;
            LblStatus2.Visibility = Visibility.Hidden;
        } // cuando el asistente termina activa el reconocimiento
 
        void nombre1_SpeakStarted(object sender, SpeakStartedEventArgs e)
        {
            reconocedor.RecognizeAsyncCancel();
            LblStatus.Visibility = Visibility.Hidden;
            LblStatus2.Visibility = Visibility.Visible;
 
        } // desactiva el reconocimiento para que hable el asistente
 
        private void Reconocedor_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
        {
            double Confidencia, ConfidenciaAux;
            Confidencia = Settings.Default.Confidencia;
            ConfidenciaAux = Math.Round(Confidencia, 2);
            Speech = e.Result.Text;
 
            if (Speech == Settings.Default.NomAsist)
            {
                OnMic();
            } // para activar el mic
 
            if (Speech == "Grácias")
            {
                OffMic();
            }  // para desactivar el mic
 
            if (Settings.Default.on_of_mic)
            {
                if (e.Result.Confidence >= ConfidenciaAux)
                {
                    if (Speech == "Hola")
                    {
                        nombre1.SpeakAsync("Hola Señor ¿cómo está?");
                        LblTextoSalida.Content = "";
                        LblTextoSalida.Content = Speech;
                    }
                    if (Speech == "Buenos días")
                    {
                        nombre1.SpeakAsync("Buenos Días Señor  ¿Cómo amaneció?");
                        LblTextoSalida.Content = "";
                        LblTextoSalida.Content = Speech;
                    }
                    if (Speech == "Muy bién y ¿tú?")
                    {
                        nombre1.SpeakAsync("Exelente señor y lista para el trabajo");
                        LblTextoSalida.Content = "";
                        LblTextoSalida.Content = Speech;
                    }
                    if (Speech == "Buenas noches")
                    {
                        (nombre1).SpeakAsync("Buenas noches Señor");
                        LblTextoSalida.Content = "";
                        LblTextoSalida.Content = Speech;
                    }
                    if (Speech == "¿Cómo estás?")
                    {
                        nombre1.SpeakAsync("Muy Bién Señor  grácias por preguntar");
                        LblTextoSalida.Content = "";
                        LblTextoSalida.Content = Speech;
                    }
                    if (Speech == "Abre el Word")
                    {
                        nombre1.SpeakAsync("Abriendo el editor de texto, espere un momento");
                        LblTextoSalida.Content = "";
                        LblTextoSalida.Content = Speech;
                        System.Diagnostics.Process.Start("WINWORD.exe");
                    }
                    if (Speech == "Muéstrame el Google")
                    {
                        System.Diagnostics.Process.Start("chrome.exe","https://www.google.com");
                        nombre1.SpeakAsync("Abriendo el navegador");
                        LblTextoSalida.Content = "";
                        LblTextoSalida.Content = Speech;
                    }
 
                }
                    habilitarReconocimiento = true;
            }     // Gramáticas 
        } // reconoce la voz del usuario
 
        private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            DragMove();
        } // mueve la ventana
    }
}



Comentarios sobre la versión: 1.0 (4)

manudeponte
30 de Diciembre del 2017
estrellaestrellaestrellaestrellaestrella
si señor, impresionante... y lo haces parecer sencillo
Responder
Imágen de perfil
1 de Enero del 2018
estrellaestrellaestrellaestrellaestrella
gracias por el comentario, espero que le des un buen uso, esto es algo que puede usarse en muchos tipos de comandos, al igual que en ironman, podriamos controlar todo con nuestra voz.
Responder
papi
9 de Mayo del 2018
estrellaestrellaestrellaestrellaestrella
donde esta el link de descarga ? pasa zelda
Responder
Imágen de perfil
7 de Junio del 2022
estrellaestrellaestrellaestrellaestrella
Gracias me será muy util
Responder

Comentar la versión: 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s4364