Vous êtes sur la page 1sur 1

Más Crear blog Acceder

VISUAL BASIC TUTORIALES


Etiquetas

RECONOCIMIENTO DE VOZ 3D ADAPTADORES DE RED ADMINISTRADOR


TAREAS AES AFORGE AGENDA ALARMA
03- Jugando con el Reconocimiento de Voz en Visual ALGEBRAICAS ALINEACION ALLOWDROP
AMORTIZACION ANAGLIFO ANAGLIFOS
Basic (VB.NET)
ANALOGICO ANDROID
ANGULOS
ANIMACION ANIMADO APAGAR APLICACION APP
INVENTOR APPINVENTOR ARCHIVOS
ARDUINO
03- Jugando con el Recon… ARRASTRAR
ARGUMENTO
ARRAY ARRAYLIST
ARITMETICAS
ASCII
ASINCRONICA ASP AUDIO AUTOCLICADOR
AUTOCOMPLETADO AUTOMATICO AVI
AxWindowsMediaPlayer
BACKGROUNDWORKER BARCODE BARRA DE
PROGRESO BARRA DE TAREAS BARRAS BASE
BASE DE DATOS BATERIA BINARIO BING
BITMAP BLOC BLOC DE NOTAS BLOQUEO BOT
BOTON BOTON INICIO BUCLES BURBUJA
BUSCAR CALCAR CALCO CALCULADORA
CALCULADORA GESTACIONAL CAMARA
CAMARA IP CAMBIO CAMPO ELECTRICO
CAPTURA CARACTERES CARGAR CARPETAS
CARRUSEL CHAT CHATING CHROME CIBER
CIENTIFICO CIERRE CLICAR CLIENTE CLIENTE
WEB COLA COLAS COLECCIONES COLLAGE
COLOR COMBOBOX COMPLEJOS COMPLETA
La resolución del monitor original: 1600 X 900 px.
deberá ajustarse el código para monitores con otra resolucion. COMPRESION COMUNICACION
CONDICIONALES CONEXION CONEXIONES
Codigo: CONSTANTES CONTRASEÑA CONTROL
CONTROLES CONTROLES. TIEMPO DE
EJECUCION CONVERSOR CONVERTIDOR
Form1
CONVERTIR COORDENADAS COPIAR
COTIZACIONES CRIPTOGRAFIA CSV CURSOR
Imports System.Speech.Recognition DAILYMOTION DATAGRIDVIEW DATETIME DATOS
Imports System.Speech.Synthesis DAZ DECIMAL DESACTIVAR DESCARGAR
Imports System.Runtime.InteropServices DESCOMPRESION DESENCRIPTACION
Public Class Form1 DESERIALIZACION DESKTOP DETECCION
Dim REC As New SpeechRecognitionEngine DIBUJAR DIBUJO DICCIONARIO DIDACTICOS
Dim SINT As New SpeechSynthesizer DIRECCION DIRECTORIOS DISPOSITIVO
DIVIDIR DIVISAS DLL DNS DOWNLOADHELPER
Dim VELOCIDAD As Integer = 500
DRAG DRAG & DROP DRAWING DRIVE
Private Const APPCOMMAND_VOLUME_MUTE As Integer = &H80000
DRIVEINFO DROP DROPBOX EACH
Private Const APPCOMMAND_VOLUME_UP As Integer = &HA0000 ECUALIZADOR EDITOR IMAGENES EJERCICIO
Private Const APPCOMMAND_VOLUME_DOWN As Integer = &H90000 ELECTRIC FIELD ELECTRICIDAD ELSE ELSEIF
Private Const WM_APPCOMMAND As Integer = &H319 EMBEBIDO EMBED EMGU.CV EMISOR EMISOR-
<DllImport("user32.dll")> RECEPTOR ENCRIPTACION ESCRIBIR
Public Shared Function SendMessageW(ByVal hWnd As IntPtr, ByVal Msg As ESCRITORIO ESCRITORIO REMOTO
Integer, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As IntPtr ESCUCHAR ESPECTRO ESTEGANOGRAFIA
ESTILO EULER EVENTOS EXIT EXPONENCIAL
End Function
EXPRESIONES EXTENSION EXTRAER
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles
FACEBOOK FECHAS FFMPEG FFT FICHERO
MyBase.Load FILESYSTEMWATCHER FIREFOX FIREWALL
IMAGEN.Image = FISICA FLASH FONT FONTSTYLE FOR FOR
System.Drawing.Bitmap.FromFile(Application.StartupPath & EACH FORMA FORMULARIO FOSCAM
"\Resources\IMAGENES\4D.gif") FOTOMATON FUENTE GALERIA GEOGRAFIA GIF
OBSTACULO.Visible = False GIF ANIMADO GIF ANIMATOR GIFS ANIMADOS

Dim VOCABULARIO As New GrammarBuilder GMAIL GOOGLE DRIVE GOOGLE MAPS


GRABACION GRABADORA GRAFICO
VOCABULARIO.Append(New Choices("arriba", "abajo", "derecha",
"izquierda", "rapido", "despacio", "para", "vuelve", "dragon", "paisaje", GRAFICOS GRAPHICS
"callate", "ruido")) GUARDAR HAARCASCADE HEBRAS
REC.LoadGrammar(New Grammar(VOCABULARIO)) HEXADECIMAL HIBRIDO HILOS HISTORIA

REC.SetInputToDefaultAudioDevice() HOSTNAME HOTMAIL HTML HTTP


HTTPLISTENER ICO ICONOS IF IMAGELIST
REC.RecognizeAsync(RecognizeMode.Multiple)
IMAGEN IMAGENES IMAGENES. IMAP
AddHandler REC.SpeechRecognized, AddressOf RECONOCE
IMPRESION IMPRESORAS IMPRIMIR
AddHandler REC.SpeechRecognitionRejected, AddressOf NORECONOCE INCRUSTADO INICIO INK INTERFACES DE RED
AddHandler REC.SpeechDetected, AddressOf DETECTA INTERNET IP IP ADDRESS IP PRIVADA IP
RELOJABAJO.Interval = VELOCIDAD PUBLICA ITEXTSHARP JOYSTICK JPG JUEGO
RELOJADELANTE.Interval = VELOCIDAD KEYBD_EVENT KEYLOGGER KILL LECTOR
RELOJARRIBA.Interval = VELOCIDAD CODIGO BARRAS LED LED RGB LEER LIBZPLAY

RELOJATRAS.Interval = VELOCIDAD LINEARGRADIENT LISTBOX LISTVIEW


LOGARITMO MAC MAILS MATEMATICAS
MATEMATICAS. GRAFICAS MATH MEDIA
My.Computer.Audio.Play(Application.StartupPath &
MEDIAPLAYER MEMORIA MENU CONTEXTUAL
"\Resources\SONIDOS\HELICOPTERO.WAV", METEOROLOGICA MICROFONO MINIATURAS
AudioPlayMode.BackgroundLoop) MODEM MODIFICACION TEXTOS MODULO
End Sub MONTHCALENDAR MOTOR CC MOUSE
Public Sub Speak(ByVal s As String) MOVIMIENTO MP3 MSHTML MULTICAST
Dim voices As System.Collections.ObjectModel.ReadOnlyCollection( MULTICLIENTE MULTIDIMENSIONAL MULTIMEDIA
Of System.Speech.Synthesis.InstalledVoice) = MULTITAREA MULTITAREAS MULTITHREADING

SINT.GetInstalledVoices() MULTIUSUARIO MUNDIAL MUSICA MVB MYSQL


NAT TRAVERSAL NAVEGADOR
SINT.SelectVoice(voices(0).VoiceInfo.Name)
NETWORKINFORMATION NETWORKING
SINT.Speak(s)
NEXT NOTAS NOTIFYICON NUMERICO NUMPAD
End Sub OCR OCTAL ONLINE OPERACIONES
Public Sub NORECONOCE() ORDENACION OUTLOOK PADLEFT PADRIGHT
SEÑAL.BackColor = Color.Red PAGINA WEB PAINT PAN PANEL PANTALLA
End Sub PANTALLA COMPLETA PAPELERA RECICLAJE
Public Sub DETECTA() PARABOLICO PASAPALABRA PDF
PEDAGOGICOS PELICULAS PENDRIVE PESTAÑAS
SEÑAL.BackColor = Color.Yellow
PICTUREBOX PILA PILAS PING PINTAR PIR
End Sub
PIXEL PIXELES PIZARRA PNG POLINOMIOS
Public Sub RECONOCE(ByVal sender As Object, ByVal e As
PORTABLE POTENCIACION POTENCIOMETRO
SpeechRecognizedEventArgs) PRESENTACIONES PRESTAMOS PREVISION
SEÑAL.BackColor = Color.Green PRINT PROCESOS PROCESS PROGRESSBAR
Dim PALABRA As RecognitionResult PROTEUS PROXY PUERTO SERIAL
Dim palabras As String PUERTOSERIAL PUZZLE QUITAR
PALABRA = e.Result RADIOFRECUENCIA RANDOM RATON RAYOS X

palabras = PALABRA.Text RECEPTOR RECOGNITION


RECONOCIMIENTO RECONOCIMIENTO
Select palabras
Case "arriba"
DE VOZ RECONOCIMIENTO VOZ RED
REGION REGISTRO RELE RELLENO RELOJ
ARRIBA()
REMARCAR REMOTAMENTE REMOTO
Case "abajo" REPRODUCTOR RESALTAR RESTRINGIR
ABAJO() RICHTEXTBOX ROCKOLA ROSTRO
Case "derecha" ROTACION ROUTER RUNTIME RUTA
ADELANTE() SEGURIDAD SELECCION TEXTOS SELECT
Case "izquierda" SELECT CASE SENO SENSOR SENSOR DE
ATRAS() MOVIMIENTO SENSOR DE PRESENCIA SENSOR

Case "para" DE SERIAL SERIAL


PROXIMIDAD PORT
SERIALIZACION SERIALPORT SERVICIO WEB
PARA()
SERVIDOR SERVIDOR WEB SERVO
Case "rapido"
SERVOMOTOR SERVOMOTORES SERVOS
RAPIDO() SINTESIS DE VOZ SISTEMAS NUMERICOS SMS
Case "despacio" SMTP SONIDO SONIDOS SPEECH
SOAP
DESPACIO() SPEECH RECOGNITION STANDARDINPUT
Case "vuelve" STANDARDOUTPUT START SYSTEM.MEDIA
VUELVE() TABCONTROL TABULACION TABULADOR
Case "dragon" TAMAÑO TASKBAR TCP TECLADO
DRAGON() TECLADO NUMERICO TECLAS TECLAS
Case "paisaje" DIRECCION TELEFONO TEXT TO SPEECH
PAISAJE() TEXTBOX TEXTO TEXTO HABLADO
Case "callate" THREADS THRILLERTIMER TIMESPAN TINYCHAT
SendMessageW(Me.Handle, WM_APPCOMMAND, Me.Handle, New TINYWEBDB TIRO TRACEROUTEE TRACKBAR
TRADUCTOR TRANSLATOR TRANSMISION
IntPtr(APPCOMMAND_VOLUME_MUTE))
TRANSPARENCIA TRANSPARENCIAS
Case "ruido"
TRANSPARENCYKEY TREEVIEW TTS TUTORIAL
SendMessageW(Me.Handle, WM_APPCOMMAND, Me.Handle, New
IntPtr(APPCOMMAND_VOLUME_UP))
TUTORIALES UDP ULTRASONIDOS UNICODE
UNIDAD UNIDADES USB USERNAME USUARIO
End Select
VBSCRIPT VBTAB VERTICAL VIDEO
VIDEOCAMARA VIDEOCONFERENCIA
End Sub VIDEOCONFERENCIAA VIDEOLLAMADA
Public Sub ARRIBA() VIDEOS VIDEOVIGILANCIA VIGILANCIA
RELOJARRIBA.Enabled = True VIRTUAL VISOR VISUALIZADOR VLC VoIP
RELOJABAJO.Enabled = False VOLUMEN VOZ WASAPI WAV WAVE WEB
RELOJATRAS.Enabled = False
RELOJADELANTE.Enabled = False
WEBBROWSER WEBCAM WEBCAM.
WEBCLIENT WEBKIT WEBREQUEST WHILE
End Sub
WHOIS WIFI WINSOCK
WINRAR WMI XML
Public Sub ABAJO() YOUTUBE ZONA ZOOM ZXING
RELOJARRIBA.Enabled = False
RELOJABAJO.Enabled = True
RELOJATRAS.Enabled = False Páginas
RELOJADELANTE.Enabled = False
Página principal
End Sub
ANDROID
Public Sub ATRAS()
ARDUINO
IMAGEN.Image =
System.Drawing.Bitmap.FromFile(Application.StartupPath & BASE DATOS
"\Resources\IMAGENES\4I.gif") CHAT, WEBCAM
RELOJARRIBA.Enabled = False CHAT, VIDEOCONFERENCIA
RELOJABAJO.Enabled = False CIENCIAS
RELOJATRAS.Enabled = True ESCRITORIO REMOTO 1
RELOJADELANTE.Enabled = False GRAFICOS
End Sub
MISCELANEA
Public Sub ADELANTE()
MVB
IMAGEN.Image =
NETWORKING
System.Drawing.Bitmap.FromFile(Application.StartupPath &
"\Resources\IMAGENES\4D.gif") RECONOCIMIENTO DE VOZ
RELOJARRIBA.Enabled = False VBSCRIPT
RELOJABAJO.Enabled = False
RELOJATRAS.Enabled = False
Archivo del blog
RELOJADELANTE.Enabled = True
End Sub ▼ 2017 (2)
Public Sub PARA() ▼ enero (2)
RELOJARRIBA.Enabled = False Arrastrar y Clicar Dentro y Fuera del
RELOJABAJO.Enabled = False Formulario c...
RELOJATRAS.Enabled = False Incrustar Aplicaciones en un Forrmulario
RELOJADELANTE.Enabled = False con VB.NE...
VELOCIDAD = 500
RELOJABAJO.Interval = VELOCIDAD ► 2016 (44)
RELOJADELANTE.Interval = VELOCIDAD ► 2015 (111)
RELOJARRIBA.Interval = VELOCIDAD
► 2014 (150)
RELOJATRAS.Interval = VELOCIDAD
End Sub ► 2013 (69)
Public Sub RAPIDO()
VELOCIDAD = VELOCIDAD / 2
Datos personales
RELOJABAJO.Interval = VELOCIDAD
RELOJADELANTE.Interval = VELOCIDAD EGODISTONIC
RELOJARRIBA.Interval = VELOCIDAD O
RELOJATRAS.Interval = VELOCIDAD Ver todo mi perfil
End Sub
Public Sub DESPACIO()
VELOCIDAD = VELOCIDAD * 2
RELOJABAJO.Interval = VELOCIDAD
RELOJADELANTE.Interval = VELOCIDAD
RELOJARRIBA.Interval = VELOCIDAD
RELOJATRAS.Interval = VELOCIDAD
End Sub
Public Sub VUELVE()
PARA()
IMAGEN.Location = New Point(700, 400)
VELOCIDAD = 500
RELOJABAJO.Interval = VELOCIDAD
RELOJADELANTE.Interval = VELOCIDAD
RELOJARRIBA.Interval = VELOCIDAD
RELOJATRAS.Interval = VELOCIDAD
End Sub
Public Sub DRAGON()
Me.BackgroundImage = Nothing
OBSTACULO.Image =
System.Drawing.Bitmap.FromFile(Application.StartupPath &
"\Resources\IMAGENES\OBSTACULO.gif")
OBSTACULO.Location = New Point(1300, -100)
OBSTACULO.Visible = True
RELOJOBSTACULO.Enabled = True
RELOJOBSTACULO.Interval = 1000
VUELVE()
End Sub
Public Sub PAISAJE()
Me.BackgroundImage =
System.Drawing.Bitmap.FromFile(Application.StartupPath &
"\Resources\IMAGENES\PAISAJE.JPG")
OBSTACULO.Visible = False
RELOJOBSTACULO.Enabled = False
VUELVE()
End Sub
Private Sub RELOJARRIBA_Tick(sender As Object, e As EventArgs) Handles
RELOJARRIBA.Tick
IMAGEN.Location = New Point(IMAGEN.Location.X, IMAGEN.Location.Y -
50)

End Sub
Private Sub RELOJABAJO_Tick(sender As Object, e As EventArgs) Handles
RELOJABAJO.Tick
IMAGEN.Location = New Point(IMAGEN.Location.X, IMAGEN.Location.Y +
50)

End Sub
Private Sub RELOJATRAS_Tick(sender As Object, e As EventArgs) Handles
RELOJATRAS.Tick
IMAGEN.Location = New Point(IMAGEN.Location.X - 50,
IMAGEN.Location.Y)
End Sub
Private Sub RELOJADELANTE_Tick(sender As Object, e As EventArgs)
Handles RELOJADELANTE.Tick
IMAGEN.Location = New Point(IMAGEN.Location.X + 50,
IMAGEN.Location.Y)
End Sub

Private Sub RELOJOBSTACULO_Tick_1(sender As Object, e As EventArgs)


Handles RELOJOBSTACULO.Tick
Dim generator As New Random
Dim randomValue As Integer
randomValue = generator.Next(-50, 1500)
If OBSTACULO.Location.Y < 0 Then
My.Computer.Audio.Play(Application.StartupPath &
"\Resources\SONIDOS\HELICOPTERO.WAV",
AudioPlayMode.BackgroundLoop)
OBSTACULO.Image =
System.Drawing.Bitmap.FromFile(Application.StartupPath &
"\Resources\IMAGENES\OBSTACULO.gif")
End If
If OBSTACULO.Location.Y > 900 Then
My.Computer.Audio.Play(Application.StartupPath &
"\Resources\SONIDOS\HELICOPTERO.WAV",
AudioPlayMode.BackgroundLoop)
OBSTACULO.Location = New Point(randomValue, -90)
Else
My.Computer.Audio.Play(Application.StartupPath &
"\Resources\SONIDOS\HELICOPTERO.WAV",
AudioPlayMode.BackgroundLoop)
OBSTACULO.Location = New Point(OBSTACULO.Location.X,
OBSTACULO.Location.Y + 50)
End If
If Math.Abs(IMAGEN.Location.X - OBSTACULO.Location.X) < 200 And
Math.Abs(IMAGEN.Location.Y - OBSTACULO.Location.Y) < 100 Then
OBSTACULO.Image =
System.Drawing.Bitmap.FromFile(Application.StartupPath &
"\Resources\IMAGENES\EXPLOSION.gif")
My.Computer.Audio.Play(Application.StartupPath &
"\Resources\SONIDOS\EXPLOSION.WAV")
End If
End Sub

End Class

02-Control del Cursor por Voz

Video YouTube

Codigo:

Form1

Imports System.Speech.Recognition
Imports System.Runtime.InteropServices
Public Class Form1
<DllImport("user32.dll", CharSet:=CharSet.Auto,
CallingConvention:=CallingConvention.StdCall)> _
Public Shared Sub mouse_event(dwFlags As
Integer, dx As Integer, dy As Integer, cButtons As
Integer, dwExtraInfo As Integer)
End Sub

Private Const MOUSEEVENTF_LEFTDOWN As


Integer = &H2
Private Const MOUSEEVENTF_LEFTUP As Integer =
&H4
Private Const MOUSEEVENTF_RIGHTDOWN As
Integer = &H8
Private Const MOUSEEVENTF_RIGHTUP As Integer
= &H10

Dim PUNTOX As Integer


Dim PUNTOY As Integer
Dim REC As New SpeechRecognitionEngine
Dim PALABRA As String
Dim VELOCIDAD As Integer = 10

Public Sub CLICKIZDO()


mouse_event(MOUSEEVENTF_LEFTDOWN,
PUNTOX, PUNTOY, 0, 0)
mouse_event(MOUSEEVENTF_LEFTUP, PUNTOX,
PUNTOY, 0, 0)
End Sub
Public Sub CLICKDCHO()
mouse_event(MOUSEEVENTF_RIGHTDOWN,

PUNTOX, PUNTOY, 0, 0)
mouse_event(MOUSEEVENTF_RIGHTUP,
PUNTOX, PUNTOY, 0, 0)
End Sub

Private Sub MOVERMOUSE()


Cursor = New Cursor(Cursor.Current.Handle)
Cursor.Position = New Point(PUNTOX, PUNTOY)
End Sub
Private Sub Form1_Load(sender As Object, e As
EventArgs) Handles MyBase.Load
Dim VOCABULARIO As New GrammarBuilder
VOCABULARIO.Append(New Choices("arriba",
"para", "abajo", "izquierda", "derecha", "intro",
"doble", "rapido", "lento", "normal"))
REC.LoadGrammar(New Grammar
(VOCABULARIO))
REC.SetInputToDefaultAudioDevice()
REC.RecognizeAsync(RecognizeMode.Multiple)
AddHandler REC.SpeechRecognized, AddressOf
RECONOCE
Label2.Text = VELOCIDAD
End Sub
Public Sub RECONOCE(ByVal sender As Object,
ByVal e As SpeechRecognizedEventArgs)
Dim RESULTADO As RecognitionResult
RESULTADO = e.Result
PALABRA = RESULTADO.Text
Label1.Text = PALABRA.ToUpper

Timer1.Enabled = True
End Sub
Private Sub Timer1_Tick(sender As Object, e As
EventArgs) Handles Timer1.Tick
Select Case PALABRA
Case "para"
Timer1.Enabled = False
Case "arriba"
PUNTOX = Cursor.Position.X
PUNTOY = Cursor.Position.Y - VELOCIDAD
MOVERMOUSE()
Case "abajo"
PUNTOX = Cursor.Position.X
PUNTOY = Cursor.Position.Y + VELOCIDAD
MOVERMOUSE()
Case "izquierda"
PUNTOX = Cursor.Position.X - VELOCIDAD
PUNTOY = Cursor.Position.Y
MOVERMOUSE()
Case "derecha"
PUNTOX = Cursor.Position.X + VELOCIDAD
PUNTOY = Cursor.Position.Y
MOVERMOUSE()
Case "intro"
CLICKIZDO()
Timer1.Enabled = False
Case "doble"
CLICKIZDO()
CLICKIZDO()
Timer1.Enabled = False
Case "rapido"
VELOCIDAD = 50
Label2.Text = VELOCIDAD
Timer1.Enabled = False
Case "lento"
VELOCIDAD = 2
Label2.Text = VELOCIDAD
Timer1.Enabled = False
Case "normal"
VELOCIDAD = 10
Label2.Text = VELOCIDAD
Timer1.Enabled = False
End Select
End Sub

End Class

01- Reconocimiento de Voz y Texto Hablado con Visual Basic (VB.NET)

01-Reconocimiento de Vo…

CODIGO:
Hay que importar la Referencia System.Speech:

Proyecto > Agregar Referencia > Ensamblados > Framework > System.Speech

FORM1

Imports System.Speech
Imports System.Speech.Recognition
Imports Microsoft.VisualBasic.FileIO
Public Class Form1
Dim REC As New SpeechRecognitionEngine
Dim SYNT As New Speech.Synthesis.SpeechSynthesizer
Dim PALABRA As String
Dim CONTADOR As Integer = 0
Dim MIARRAY(CONTADOR) As String
Dim DICCIONARIO As String = Application.StartupPath & "\DICCIONARIO.txt"
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Timer1.Enabled = True
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick

Dim VOCABULARIO As New GrammarBuilder


VOCABULARIO.Append(New Choices("entrada", "consulta", "guardar", "buscar", "hola"))
REC.LoadGrammar(New Grammar(VOCABULARIO))
REC.SetInputToDefaultAudioDevice()
REC.RecognizeAsync(RecognizeMode.Multiple)
AddHandler REC.SpeechRecognized, AddressOf RECONOCE
AddHandler REC.SpeechRecognitionRejected, AddressOf NORECONOCE
AddHandler REC.SpeechDetected, AddressOf DETECTA
Timer1.Enabled = False
End Sub
Public Sub NORECONOCE()

End Sub
Public Sub DETECTA()
End Sub
Public Sub RECONOCE(ByVal sender As Object, ByVal e As SpeechRecognizedEventArgs)
Dim RESULTADO As RecognitionResult
RESULTADO = e.Result
Dim PALABRA As String
PALABRA = RESULTADO.Text
Select Case PALABRA
Case "hola"
SYNT.Speak("nice to see you again")
Case "entrada"
BORRAR()
Label3.Text = "GUARDAR"
TextBox1.ReadOnly = False
TextBox2.ReadOnly = False
TextBox1.Visible = True
TextBox2.Visible = True
Case "consulta"
BORRAR()
Label2.BackColor = Color.Red
TextBox1.Visible = True
TextBox2.Visible = True
TextBox1.ReadOnly = True
TextBox2.ReadOnly = True
ES_EN()
Case "guardar"
BORRAR()
If TextBox1.Text = "" Or TextBox2.Text = "" Then
Beep()
Else
My.Computer.FileSystem.WriteAllText(DICCIONARIO, TextBox1.Text.ToLower &
vbCrLf & TextBox2.Text.ToLower & vbCrLf, True)
SYNT.Speak("saved")
Label3.Text = "ENTRADA"
TextBox1.Text = ""
TextBox2.Text = ""
TextBox1.ReadOnly = True
TextBox2.ReadOnly = True
TextBox1.Visible = False
TextBox2.Visible = False
End If
Case Else
TextBox1.Text = RESULTADO.Text.ToUpper
For I = 0 To CONTADOR - 1
Try
If MIARRAY(I) = RESULTADO.Text Then
TextBox2.Text = MIARRAY(I + 1).ToUpper
SYNT.Speak(MIARRAY(I + 1))
Exit For
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try

Next
End Select
End Sub
Public Sub BORRAR()
Label2.BackColor = Color.Black
Label3.BackColor = Color.Black
End Sub
Public Sub ES_EN()
Dim INGLES As New GrammarBuilder
Dim filename As String = DICCIONARIO
Dim fields As String()
Dim delimiter As String = ","
Using parser As New TextFieldParser(filename)
parser.SetDelimiters(delimiter)
While Not parser.EndOfData
' Read in the fields for the current line
fields = parser.ReadFields()
' Add code here to use data in fields variable.
For I = 0 To fields.Count - 1
If fields(I) <> "" Then
ReDim Preserve MIARRAY(CONTADOR)
MIARRAY(CONTADOR) = fields(I)
CONTADOR += 1
End If
Next
End While
Try

INGLES.Append(New Choices(MIARRAY))
REC.LoadGrammar(New Grammar(INGLES))
SYNT.Speak("go ahead")
Catch ex As Exception
MsgBox(ex.Message)
End Try

End Using

End Sub
End Class

Navegador Web Controlado por Voz VB.NET (Speech Recognition)

Navegador Web Controla…

CODIGO:

Imports System.Speech.Recognition
Imports System.Speech.Synthesis
Imports System.Runtime.InteropServices
Public Class Form1
Dim REC As New SpeechRecognitionEngine
Dim SYNT As New Speech.Synthesis.SpeechSynthesizer
Dim DISTANCIA As Integer = 0
Private Const APPCOMMAND_VOLUME_MUTE As Integer = &H80000
Private Const APPCOMMAND_VOLUME_UP As Integer = &HA0000
Private Const APPCOMMAND_VOLUME_DOWN As Integer = &H90000
Private Const WM_APPCOMMAND As Integer = &H319
<DllImport("user32.dll")>
Public Shared Function SendMessageW(ByVal hWnd As IntPtr, ByVal Msg As Integer, ByVal
wParam As IntPtr, ByVal lParam As IntPtr) As IntPtr
End Function
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

Dim VOCABULARIO As New GrammarBuilder


VOCABULARIO.Append(New Choices("ampliar", "adelante", "atras", "humor", "confidencial",
"pais", "vanguardia", "mundo", "periodico",
"neoteo", "correo", "yutube", "tiempo", "buscador", "traductor",
"television", "impara", "abece", "abajo",
"arriba", "silencio", "sonido"))
REC.LoadGrammar(New Grammar(VOCABULARIO))
REC.SetInputToDefaultAudioDevice()
REC.RecognizeAsync(RecognizeMode.Multiple)
AddHandler REC.SpeechDetected, AddressOf detectado
AddHandler REC.SpeechRecognitionRejected, AddressOf noreco
AddHandler REC.SpeechRecognized, AddressOf reco
SYNT.Speak("hola, ¿como estas hoy?")

End Sub

Public Sub detectado(ByVal sender As Object, ByVal e As SpeechDetectedEventArgs)


SEÑAL.BackColor = Color.Yellow
End Sub
Public Sub noreco(ByVal sender As Object, ByVal e As
SpeechRecognitionRejectedEventArgs)
SEÑAL.BackColor = Color.Red
SYNT.Speak("repite por favor")
End Sub
Public Sub reco(ByVal sender As Object, ByVal e As SpeechRecognizedEventArgs)
Dim RESULTADO As RecognitionResult
RESULTADO = e.Result
Dim PALABRA As String
PALABRA = RESULTADO.Text
SYNT.Speak(PALABRA)

Select Case PALABRA


Case "confidencial"
Dim WEB As New Uri("http://www.elconfidencial.com/")
NAVEGADOR.Visible = True
NAVEGADOR.Url = WEB
Text = "confidencial".ToUpper
Case "pais"
Dim WEB As New Uri("http://elpais.com/")
NAVEGADOR.Visible = True
NAVEGADOR.Url = WEB
Text = "pais".ToUpper
Case "vanguardia"
Dim WEB As New Uri("http://www.lavanguardia.com/")
NAVEGADOR.Visible = True
NAVEGADOR.Url = WEB
Text = "vanguardia".ToUpper
Case "abece"
Dim WEB As New Uri("http://www.abc.es/")
NAVEGADOR.Visible = True
NAVEGADOR.Url = WEB
Text = "abc".ToUpper
Case "mundo"
Dim WEB As New Uri("http://www.elmundo.es/index.html?
a=bbe24238eec42426ca673d95ba6c7f7a&t=1348811181")
NAVEGADOR.Visible = True
NAVEGADOR.Url = WEB
Text = "mundo".ToUpper
Case "periodico"
Dim WEB As New Uri("http://www.elperiodico.com/es/")
NAVEGADOR.Visible = True
NAVEGADOR.Url = WEB
Text = "periodico".ToUpper
Case "neoteo"
Dim WEB As New Uri("http://www.neoteo.com/")
NAVEGADOR.Visible = True
NAVEGADOR.Url = WEB
Text = "neoteo".ToUpper
Case "humor"
Dim WEB As New Uri("http://www.eljueves.es/")
NAVEGADOR.Visible = True
NAVEGADOR.Url = WEB
Text = "el jueves".ToUpper
Case "tiempo"
Dim WEB As New Uri("http://tiempoytemperatura.es/")
NAVEGADOR.Visible = True
NAVEGADOR.Url = WEB
Text = "tiempo".ToUpper
Case "buscador"
Dim WEB As New Uri("https://www.google.es/")
NAVEGADOR.Visible = True
NAVEGADOR.Url = WEB
Text = "buscador".ToUpper
Case "traductor"
Dim WEB As New Uri("http://servicios.elpais.com/traductor/")
NAVEGADOR.Visible = True
NAVEGADOR.Url = WEB
Text = "traductor".ToUpper
Case "television"
Dim WEB As New Uri("http://parrilla-tv.lavanguardia.com/")
NAVEGADOR.Visible = True
NAVEGADOR.Url = WEB
Text = "television".ToUpper
Case "correo"
Dim WEB As New Uri("https://login.live.com/login.srf" + "?" +

"wa=wsignin1.0&rpsnv=11&ct=1332586469&rver=6.1.6206.0&wp=MBI_SSL_SHARED&wreply=htt
ps:%2F" +
"%2Fmail.live.com%2Fdefault.aspx%3Fmkt%3Des-
us&lc=2058&id=64855&mkt=es-us&cbcxt=mai")
NAVEGADOR.Visible = True
NAVEGADOR.Url = WEB
Text = "correo".ToUpper
Case "yutube"
Dim WEB As New Uri("http://www.youtube.com/")
NAVEGADOR.Visible = True
NAVEGADOR.Url = WEB
Text = "yutube".ToUpper
Case "impara"
Dim WEB As New Uri("http://imparagratis.com/")
NAVEGADOR.Visible = True
NAVEGADOR.Url = WEB
Text = "impara".ToUpper

Case "abajo"
DISTANCIA = DISTANCIA + 500
NAVEGADOR.Document.Window.ScrollTo(0, DISTANCIA)
Case "arriba"
DISTANCIA = DISTANCIA - 500
NAVEGADOR.Document.Window.ScrollTo(0, DISTANCIA)
Case "silencio"
SendMessageW(Me.Handle, WM_APPCOMMAND, Me.Handle, New
IntPtr(APPCOMMAND_VOLUME_MUTE))
Case "sonido"
SendMessageW(Me.Handle, WM_APPCOMMAND, Me.Handle, New
IntPtr(APPCOMMAND_VOLUME_UP))
Case "atras"
NAVEGADOR.GoBack()
Case "adelante"
NAVEGADOR.GoForward()

End Select
End Sub
'ESTO SON OPCIONES PARA MANEJAR EL VOLUMEN
'Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button1.Click
' SendMessageW(Me.Handle, WM_APPCOMMAND, Me.Handle, New
IntPtr(APPCOMMAND_VOLUME_UP))
'End Sub
'Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button2.Click
' SendMessageW(Me.Handle, WM_APPCOMMAND, Me.Handle, New
IntPtr(APPCOMMAND_VOLUME_DOWN))
'End Sub
'Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button3.Click
' SendMessageW(Me.Handle, WM_APPCOMMAND, Me.Handle, New
IntPtr(APPCOMMAND_VOLUME_MUTE))
'End Sub
End Class

26 comentarios:

William Gregory Godoy Villalobos 16 de octubre de 2013, 2:34

Hola amigo creador de este blog, necesito una ayuda urgente referente a este tema, descargue
el codigo pero no me funciona, que herramientas debo tener instaladas para el reconocimiento
de voz, descargue el SAPI (SpeechSDK51) de la pagina de microsoft y tengo visual .net 2005 -
2008 y en ninguno me funciona... tengo el sistema operativo windows xp, sera por eso que no
funciona. tiene que ser en windows 7, dime cuales son los requerimientos que pide para que
este codigo de reconocimiento de voz funcione.

Responder

Respuestas

EGODISTONICO 16 de octubre de 2013, 5:54

Hola William:
Efectivamente el reconocimiento de voz no funciona en XP. En XP funciona la voz de
síntesis (Text to Speech) que permite que lea un texto pero no el reconocimiento de
voz (Speech Recognition). Necesitas Windows7. Con windows7 no necesitas
descargar nada. Solo agregar la referencia Speech y aplicar el código tal como esta
aquí.
En cuanto a Visual Studio te recomendaría que te bajes al menos Visual Basic 2010
Express, ya va por 2013. Es gratuito.
Saludos.

Responder

William Gregory Godoy Villalobos 16 de octubre de 2013, 16:13

Amigo yo tengo visual basic 2008 express pero con windows xp, pero pregunto si con vb2008
funciona igual en windows7, ya que el codigo lo coloque en vb2008 y no tenia ningun error, el
unico error es al ejecutar sobre el idioma del reconocimiento de voz con el del sistema
operativo. para asi probarlo en windows 7. lo que quiero hacer es que el usuario utilice el
microfono para decir cierta palabra, y compararla para ver si es correcta la palabra que se esta
diciendo por microfono. me imagino que se puede hacer con este ejemplo.

Responder

Respuestas

EGODISTONICO 16 de octubre de 2013, 19:16

Hola William:
El XP no tiene reconocimiento de voz de origen. Se que hay formas de añadírselo
pero yo nunca lo he intentado. Mira este enlace.
http://support.microsoft.com/kb/306537/es
No conozco VB2008. Este proyecto fue realizado von VB2012 en Windows7 y no
creo que funcione en versiones anteriores. O sea que no creo que te funcione en
VB2008 aunque lo pongas en Windows7.
Hay otro proyecto que se parece mas a lo que quieres hacer. El Juego Pasapalabra,
en este mismo blog. Mañana colgare el código y el proyecto completo. Aunque
también esta hecho en VB2012 y W7.
Saludos.

Responder

EGODISTONICO 16 de octubre de 2013, 19:14

Este comentario ha sido eliminado por el autor.

Responder

Gonzalo 8 de abril de 2014, 17:46

Hola gracias por tu aporte, ahora yo quiero ir un poco más, pensando en la gente ciega, que el
programa pudiera leer lo que se ve, si bien entra todo el tema de interpretar el html, para lograr
poder interactuar con la web, tienen algun proyecto de este estilo, estoy buscando información
de como poder ayudar a las personas ciegas a poder navegar en internet, y he visto muchos
programas que en realidad no son muy utiles si se ve desde el usuario ciego. Cualquier
sugerencia me puede servir. Soy programador .net en vb.net y me gustaría poder desarrollar
algo que pueda ayudar

Desde ya muchas gracias.

Mi correo gonzalo@nucleoe.com

Responder

Respuestas

EGODISTONICO 8 de abril de 2014, 18:41

Hola Gonzalo:
Lo que planteas es muy interesante.
La Web, con toda su carga multimedia, no esta pensada para personas ciegas. Por
tanto, lo primero seria crearles una especie de" Web" para ciegos. Por ejemplo: Un
agregador de noticias, un agregador de música,...., etc. A partir de ahí, jugando con
el Reconocimiento de Voz y con el Texto a Voz, se podría crear una bonita aplicación
para ciegos.
O sea, puedes hacer un Agregador de Noticias a 2 niveles: 1)Titulares,2)La noticia
detallada.
La persona ciega puede decir "NOTICIAS" y el Texto a Voz puede leerle los titulares.
Si dice "ENTRAR", el Texto a Voz, puede leerle la noticia detallada. Lo mismo con la
música. Etc.
Googleando un poco he encontrado esto:
http://www.xsonar.com.ar/
Llevar una cosa asi a .NET no es complicado aunque si puede ocupar tiempo.
A tu disposición.
Saludos.

Responder

Emo FR 17 de abril de 2014, 20:47

Este comentario ha sido eliminado por el autor.

Responder

Anónimo 29 de mayo de 2014, 13:24

Hola. Quería consultarte porque he creado una aplicación en Visual Studio 2010 target 4.0 pero
me tira error "La cadena de entrada no tiene el formato correcto" cuando intento usar cualquier
método del objeto SpeechSynthesizer. Pero si a la misma aplicación le cambio el target a 3.5
funciona correctamente. Sabes cuál puede ser el error?

Responder

Respuestas

EGODISTONICO 29 de mayo de 2014, 14:09

Hola: Lo siento no tengo ni idea. Ni siquiera se como se elige el target. Siento no


poder ayudarte. Saludos

Responder

Rodrigo Valladares, Jeffrie Somoza y Diego Peña 6 de agosto de 2014, 6:34

tengo una pequeña pregunta, bueno problema, para el codigo del 01- Reconocimiento de Voz y
Texto Hablado con Visual Basic (VB.NET) en la parte del vocabulario, como podria hacer que
en esta parte :

Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick

Dim VOCABULARIO As New GrammarBuilder


VOCABULARIO.Append(New Choices("entrada", "consulta", "guardar", "buscar", "hola"))
REC.LoadGrammar(New Grammar(VOCABULARIO))
REC.SetInputToDefaultAudioDevice()
REC.RecognizeAsync(RecognizeMode.Multiple)
AddHandler REC.SpeechRecognized, AddressOf RECONOCE
AddHandler REC.SpeechRecognitionRejected, AddressOf NORECONOCE
AddHandler REC.SpeechDetected, AddressOf DETECTA
Timer1.Enabled = False
End Sub

en ves de escribir "entrada", "consulta" y todo eso, estuviera en una base de datos y que de la
base de datos se importaran esas frases a esa parte del codigo?
por favor si pudieras ayudarme te lo agradeceria mucho

Responder

Respuestas

EGODISTONICO 6 de agosto de 2014, 8:14

Hola: Has visto esta aplicación:


http://visualbasictutoriales.blogspot.com.es/2014/07/reconocimiento-de-voz-
vocabularios.html
Quiza resuelva tus dudas. Si necesitas ayuda deja un comentario. Saludosl

Rodrigo Valladares, Jeffrie Somoza y Diego Peña 6 de agosto de 2014, 19:09

mmm lo probare y luego te aviso, cualquier cosa

Responder

Rodrigo Valladares, Jeffrie Somoza y Diego Peña 6 de agosto de 2014, 6:35

y como seria para ponerle un contador en el codigo del programa del jugando con el
reconocimiento de voz, asi como hacer un puntaje para ver cuantos a destuido, por favor, te
pido, ayúdame

Responder

Respuestas

EGODISTONICO 6 de agosto de 2014, 8:24

Hola: ¿Has visto esta aplicación?


http://visualbasictutoriales.blogspot.com.es/2014/07/otro-movimiento-de-picturebox-
con.html.
Se parece mucho a la que te interesa y en ella se implementan contadores de
destruidos y tiempo. Si necesitas ayuda deja un comentario. Saludos.

Rodrigo Valladares, Jeffrie Somoza y Diego Peña 6 de agosto de 2014, 19:08

hey muchas gracias, me sirvió mucho

Responder

Anónimo 7 de septiembre de 2014, 23:05

hola, excelente proyecto me llamo mucho la atencion, me gustaria saber que tipo de objetos
son SEÑAL, NAVEGADOR y los otros objetos que tienes en la ventana del form

Responder

Respuestas

EGODISTONICO 8 de septiembre de 2014, 8:08

Hola: Has puesto el comentario en una pagina genérica de Reconocimiento de Voz.


Si lo pones en la pagina de un proyecto concreto me será mas fácil responderte. En
cualquier caso, SEÑAL es siempre una etiqueta, indica con su color, la recepción del
mensaje de voz( detecta, reconoce, no reconoce). NAVEGADOR es un WebBrowser.
Si tienes alguna duda deja un comentario. Saludos.

Responder

Anónimo 27 de octubre de 2014, 1:39

hola maestro, podrias hacer cuando puedas un pequeño ejemplo de dictado por voz.
que tenga para copiar, pegar eliminar etc. muchas gracias j.p

Responder

andres mauricio velasquez botello 23 de abril de 2015, 4:48

Amigo, me encanto tu blog, me ha brindado muchísima información sobre comandos de voz,


pero necesito una ayuda para configurar a gusto la voz del sintetizador.
Espero puedas ayudarme, Gracias.

Responder

Respuestas

EGODISTONICO 23 de abril de 2015, 17:20

Hola: ¿Como puedo ayudarte? ¿Qué tipo de configuracion quieres hacer?


¿Velocidad, volumen,......?. Saludos

Responder

Anónimo 23 de julio de 2015, 21:02

CreateObject("SAPI.SpVoice").speak" busco las ultimas noticias te las leo."


dim suma
suma = 0
set objshell = createobject("wscript.shell")
URL = "http://www.el-nacional.com/rss/"
dc = """"
Set XD = CreateObject("MSXML2.DOMDocument")
XD.ASync = false
If XD.Load(URL) Then
Set TitleName = XD.SelectNodes("//item/title") ' Mirar en la versión xml parea seleccionar los
item que te interesen.
Set sumario = XD.SelectNodes("//item/media:description")
Set detalles = XD.SelectNodes("//item/description")
For i = 0 To TitleName.Length - 2
suma = suma+1
CreateObject("SAPI.SpVoice").speak "noticia " & suma
CreateObject("SAPI.SpVoice").speak TitleName(i).Text
CreateObject("SAPI.SpVoice").speak sumario(i).Text
'CreateObject("SAPI.SpVoice").speak detalles(i).Text
myData = myData & TitleName(i).Text & sumario(i).Text & detalles(i).Text & vbCrLf
if suma = 10 then CreateObject("SAPI.SpVoice").speak " ya te he leido las " & suma & " ultimas
noticias" 'cambiar el valor 10 para cambiar el numero de noticias que quieres que te lea
if suma = 10 then objshell.run "TASKKILL /F /IM wscript.exe /T",vbhide ' 'cambiar el valor 10 para
cambiar el numero de noticias que quieres que te lea
WScript.Sleep(1000)
Next
Else
CreateObject("SAPI.SpVoice").speak "no hay noticias o la conexión a internet está fallando. "
End If
CreateObject("SAPI.SpVoice").speak "orden finalizada "

Responder

Respuestas

Anónimo 23 de julio de 2015, 21:06

quiero esa http://www.el-nacional.com/rss/


http://cdn.eluniversal.com/rss/avances.xml
http://elnacional.com.do/feed/
al tener fotos y cosas asi pues me da error como se puede solucionar?

EGODISTONICO 25 de julio de 2015, 0:33

Hola: Me parece que me he perdido en algún punto. ¿Puedes recordarme que


quieres hacer?. ¿Para que es ese código?.¿De donde ha salido?. Parece antiguo.
Si utilizases algún nombre (aunque sea inventado) me seria mas fácil seguir tus
planteamientos. No se cuantos Anonimos me escriben y por tanto saber que
comentario es de cada cual. También puedes utilizar mi dirección email:
vb.tutoriales.abc@gmail.com.
Saludos.

Responder

Unknown 25 de enero de 2017, 19:14

Sr. yo soy uno de sus fans y necesito que me ayude a mejorar uno de sus proyectos, es el de
reconocimiento de imágenes por voz de animales, para la introducción de texto

Responder

edward erickson fiestas flores 18 de julio de 2017, 17:36

hola, como hago para que pueda reconocer oraciones , pues intento hacer y me sale palabra
por palabra, además que son palabras que no dije.
Saludos.

Responder

Introduce tu comentario...

Comentar como: Cuenta de Goog

Publicar Vista previa

Página principal

Suscribirse a: Entradas (Atom)

SPAM

Tema Sencillo. Con la tecnología de Blogger.

Vous aimerez peut-être aussi