GAMBAS… Levantate y Habla!!!

Cuando programaba en Visual Basic con Guindos, la forma mas sencilla de hacer que una aplicación ejecuta sonido, era grabando la voz y luego reproducirla con algunos comandos en el sistema. Esto tenia como desventaja principal que el programa o sistema desarrollado se hacia lento.

Andando por la red, encontre un articulo donde se indica como hacer hablar a un pc utilizando la aplicación eSpeak , que funciona con Alsa (el sistema de sonido de GNU/Linux). Luego, decidi implimentarla enGambas y el resultado es que el sistema “habla” lo cual nos permite colocar en un sistema, mensajes de bienvenida, clave erronea, etc.

Un ejemplo de como hacer “hablar” a tu sistema seria el siguiente:

1) creas un formulario y colocar dos botones, uno para Ejecutar y otro para Cerrar.

2) Crear un modulo llamado Voces. En este modulo colocas este codigo:

PUBLIC SUB Bienvenido()
EXEC [“aoss”, “espeak”, “-ves”, “-s130”, “?Bienvenido,a,Gambas,ya,puedo,hablar”]
END

PUBLIC SUB Salida()
EXEC [“aoss”, “espeak”, “-ves”, “-s130”, “?Gracias,por,usar,Gambas,vuelva,pronto”]
END

3) Ahora haces doble click en el boton Ejecutar y escribes: Voces.Bienvenido(). En el boton Cerrar haces doble click y escribes: Voces.Salida() y mas abajo de esta instruccion: Me.close

Y Listo, ya tienes a Gambas hablando!!!

Nota: Todo lo que quieras que la pc diga debe ir entre comillas y separado por comas, como esta en el ejemplo. “-ves” significa que el idioma es Español, quiere decir que tambien podemos usar otros lenguajes. “-s130” es la velocidad con que se ejecuta la lectura. Se recomienda entre 120 y 170 para el idioma español.

16 comentarios en “GAMBAS… Levantate y Habla!!!

  1. Muy buen tip, estoy trabajando en un pequeño proyecto y esto me parecio una muy buena alternativa para darle otro aire. a proposito, me parece excelente idea el que exista una web como esta donde encontremos estos grandes aportes para aquellos que hemos abrazado de apoco el lenguaje BASIC a traves de GAMBAS…..

  2. Jesus Ricardo Ballesteros dijo:

    Hola como estas????…Me parecio genial este blog, aqui he aprendido muchas cosas que en el libro de gambas que circula por la red (Es el unico libro en pdf, lo se porque estoy cansado de buscar tutoriales)….Gracias por todo ahi se hace lo que se puede…estoy aprendiendo xq no tengo ni p**** idea……..

  3. leonel rodriguez dijo:

    Men me gustaría que hicieras un ejemplo con gridview de como insertar datos, hace poco entre en el mundo gambas pero aun no se como insertar datos en un gridview, vengo de visual .net y en el los datos se puede agregar de manera directa, si me pudieras ayudar te lo agradecería mucho.

    “se insertarlos dando las coordenadas en caja de texto”
    ejemplo gridview[2,4].text=TextBox1″ pero no me se ve muy poco intuitivo para el usuario normal.
    gracias

  4. Hola muy buen post, lo estube probando y funciono de maravillas, es ideal para hacer sistemas para personas con discapacidad visual tambien.
    Por otro lado, me gustaria que comentes como hacer que reproduzca lo que un usuario ingresa en un textobox, estube buscando y creo q se hace con la opcion –stdin pero no se como aplicarlo a Gambas.
    muchas gracias,

  5. hola , probando pude hacer q reproduzca lo que un usuario ingresa en un textbox, no era tan complicado,jeje.

    ‘modulo Voces
    PUBLIC FUNCTION Bienvenido(OPTIONAL TextBox AS String)

    EXEC [“aoss”, “espeak”, “-ves”, “-s145”, TextBox]

    END

    ‘en FMain
    PUBLIC SUB Button1_Click()

    Voces.Bienvenido(txtnombre.Text)

    END

  6. william dijo:

    hola, el post esta muy chevere, pero me gustaria saber exactamente como hicieron para lograr reproducir la voz, esto es mas que todo para NORBERTO,

  7. JuanMartinez dijo:

    Buenas tardes amigos, estoy aprendiendo Gambas y estoy en la busqueda de codigo para tomar ideas, encontre este link, creo que hice todo lo que decian, pero no oigo nada, que puede estar pasando?

  8. Manuel dijo:

    Hola.
    Estoy probando las lineas de código, solo hace un sonido ininteligible.
    He cambiado la velocidad y no logro sacar ningún sonido.
    Tengo instalado, alsa-base, alsa-oss y alsa-utils. Tambien esta instalado espeak y espeak-data.
    ¿Alguna ayuda?
    ¿Falta algún componente de alsa?

    • hola

      revisa que tengas instaladas las librerias e-speak y los modulos de alsa-oss.
      creo que en el ejemplo coloque una nota referente a los requisitos para que pueda funcionar.

      gracias y estamos a la orden.

  9. Andruwx dijo:

    Yo hice mi variante para que hablara un mensajes cada vez que se haga click en un picturebox.

    primero el modulo puse esto

    PUBLIC SUB voz1()
    EXEC [“aoss”, “espeak”, “-ves+f3”, “-s160”, “!Excelente, !elegistes amarillo”]
    END

    PUBLIC SUB voz2()
    EXEC [“aoss”, “espeak”, “-ves+f3”, “-s170”, “!!Bien,hecho, !elegiste, Rójo”]
    END

    PUBLIC SUB voz3()
    EXEC [“aoss”, “espeak”, “-ves+f3”, “-s170”, “!!Felicidades, !elegistes verde”]
    END

    PUBLIC SUB voz4()
    EXEC [“aoss”, “espeak”, “-ves+f3”, “-s170”, “!!Bien,hecho, !elegistes asul”]
    END

    Tiene la inclusion de +f3 para voz femenina

    y en los picturebox coloque esto

    PUBLIC SUB pb3_MouseDown()

    l3.caption = “rojo”
    voz.voz2()
    END

    PUBLIC SUB pb4_MouseDown()

    l3.caption = “verde”
    voz.voz3()
    END

    PUBLIC SUB pb1_MouseDown()

    l3.caption = “amarillo”
    voz.voz1()

    END

    PUBLIC SUB pb2_MouseDown()

    l3.caption = “azul”
    voz.voz4()
    END

      • Andruwx dijo:

        chevere amigo pero ahora tu me podrias ayudar en algo, te explico tengo un sonido que se reproduce en un form cuando ejecuto mi programa en gambas pero la cancion llega un punto en que termina como hago o que codigo escribo para que su reproduccion sea infinita.

        Aqui te dejo lo que tengo escrito hasta ahorita me funciona bien pero no se reproduce de nuevo A lo que termina la cancion.

        ‘ declaracion publica de la clase para el sonido llamada cancion
        PUBLIC cancion AS Sound

        PUBLIC SUB Form_Open()

        ME.Center
        ‘ se llama al archivo de audio con su extension
        cancion = NEW Sound(“musica.ogg”)
        cancion.Play
        END

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s