Genesis Vargas J

Calculadora con sistema de voz para dar respuestas en Visual Basic (Voces Loquendo)

Comparte:

Hola que tal amigos, en este post les voy a mostrar como haríamos para hacer un programa cualquiera, en este caso yo voy a poner de ejemplo una pequeña calculadora que ademas de resolver las operaciones nos va a decir ese resultado con una voz humana/robotica: las voces de loquendo especifícamente.

Lo primero que debemos hacer es instalar es LOQUENDO en nuestro computador, yo les voy a dejar un link de descarga y un link de un videotutorial de como instalarlo correctamente para usarlo en nuestra aplicación. LINK DESCARGA, LINK DE VIDEOTUTORIAL INSTALACION.

Después de que terminemos la instalación, vamos a visual studio y procedemos a crear un proyecto de visual basic windowsforms y hacemos el diseño del programa que en este caso es una caculadora con dos cajas de texto para el numero uno y el numero dos, un boton para cada operación: suma, resta, multiplicación y división y una caja de texto para donde se va a mostrar el resultado; si hacemos todo el diseño se vería asi:

Cuando terminemos el diseño vamos a hacer un paso muy importante que es agregar la referencia de loquendo e importarla en el proyecto, para hacer eso dan click en el menu de arriba en la parte que dice Proyecto --> y despues hacen click en Agregar Referencia y les va a salir una ventana donde vamos a buscar la referencia de loquendo para agregarla; hacemos click en la pestaña que dice COM de la ventan que salio y buscamos dentro la de loquendo que se llama "Loquendo TTS 7 ActiveX Control", hacemos click sobre ella y despues damos click en aceptar.

Ahora vamos a importarla en el código, al final este sería el código de todo el programa:

FRMCALCULADORA.VB

Imports LTTS7Lib
Public Class FrmCalculadora
    Sub New()
        InitializeComponent()
        carmen.Voice = "Carmen"
        carmen.Language = "SpanishAm"
    End Sub

    Function RealizarOperacion(ByVal num1 As Integer, ByVal num2 As Integer, ByVal operacion As String) As Integer
        Select Case operacion
            Case "+"
                RealizarOperacion = num1 + num2
            Case "-"
                RealizarOperacion = num1 - num2
            Case "*"
                RealizarOperacion = num1 * num2
            Case "/"
                RealizarOperacion = num1 / num2
            Case Else
                RealizarOperacion = 0
        End Select
    End Function 

   Private Sub BtnSuma_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSuma.Click
        TxtResultado.Text = RealizarOperacion(TxtNum1.Text, TxtNum2.Text, "+")
        carmen.Read("El resultado es: " & TxtResultado.Text)
    End Sub

    Private Sub BtnResta_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnResta.Click
        TxtResultado.Text = RealizarOperacion(TxtNum1.Text, TxtNum2.Text, "-")
        carmen.Read("El resultado es: " & TxtResultado.Text)
    End Sub

    Private Sub BtnMultiplicacion_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnMultiplicacion.Click
        TxtResultado.Text = RealizarOperacion(TxtNum1.Text, TxtNum2.Text, "*")
        carmen.Read("El resultado es: " & TxtResultado.Text)
    End Sub

    Private Sub BtnDivision_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnDivision.Click
        TxtResultado.Text = RealizarOperacion(TxtNum1.Text, TxtNum2.Text, "/")
        carmen.Read("El resultado es: " & TxtResultado.Text)
    End Sub

 End Class

En el codigo podemos ver claramente que creamos un objeto llamado carmen de la clase LTTS7 y en el metodo contructor de visual basic configuramos ese objeto de forma que loquendo va a usar en nuestro programa la voz de carmen (ustedes pueden poner la voz que quieran que hayan instalado en la primera parte del tutorial) y el idioma que va a hablar es el español latinoamericano, también creamos una función que se llama realizaroperacion de tipo entero y retornara un entero (ella misma) y que ésta función recibirá 3 párametros: los numeros que escribamos en la caja de texto 1 y en la caja de texto 2 y por ultimo va a recibir el tipo de operación; dentro hacemos un select case dependiendo de la operacion oara asignarle la funcion la correspondiente operacion entre los dos numeros. En los eventos de click de cada boton (operación) vamos a asignarle a la caja de texto de resultado la funcion realizaroperacion con sus respectivos párametros y por último con el objeto carmen acedemos al metodo read y le pasamos como parametro lo que la calculadora va a hablar; es decir: "el resultado es: " y seguido el resultado en numeros que tiene la caja de texto donde mostramos el resultado final.

Aquí les muestro un video corto donde se puede ver y escuchar al programa haciendo las operaciones y diciendo el resultado con la voz de carmen loquendo:

Bueno eso es todo espero que les sirva mucho para aprender y practicar. les dejo una carpeta comprimida para que descarguen el ejemplo del proyecto.

Comentarios


genesis vargas

Soy Genesis Vargas Jiménez, autor de éste blog. Me gusta desarrollar software en todas las plataformas (web, móvil y desktop) y compartir conocimiento para ayudar a muchas personas.

Desde el 2015 soy MVP Microsoft en Visual Studio y tecnologías de desarrollo, reconocimiento que me enorgullece mucho.

MVP Genesis Vargas J

A PHP Error was encountered

Severity: Core Warning

Message: Module 'timezonedb' already loaded

Filename: Unknown

Line Number: 0

Backtrace: