Ir al contenido principal

Reproducción, mediante voz, de texto introducido por teclado.

Hola me llamo Antonio Alfonso Martínez y en el presente artículo me dispongo a explicar la creación de un sencillo programa que reproducirá, por voz, un texto introducido por el usuario. 
 
Para ello vamos a tener que usar la librería externa “win32com.client” para sistemas operativos Windows. Dado que se trata de un módulo externo, lo primero que deberemos de hacer es importarlo. Esto lo haremos mediante el módulo “pip”, pidiéndole que instale “pypwin32” o “pywin32”:

install

Ejecutamos el comando, y tras unos minutos de espera, tendremos instalada nuestra librería “win32com.client” a la espera de que nos pongamos atrabajar con ella.
Dado que el nombre del módulo es algo largo, para su empleo en nuestro programa, lo importaremos con el nombre más corto de “wc”:

as

Otro de los pasos previos que daremos para crear nuestro programa es el de llamar (mediante una variable a la que hemos dado el nombre de “voice”) al método “Dispatch” (dentro del módulo “win32com”), que es el que vamos a emplear para generar la “voz” que irá leyendo nuestros textos:

voice

Una vez hecho esto, escribiremos el código de nuestro programa, el cual, tendría el siguiente aspecto:

vo3

Así, habremos creado un programa que irá pidiendo a nuestro usuario (mediante el correspondiente “input” para la variable “texto”) que introduzca un texto, de modo que, acto seguido, nuestro programa lo leerá mediante voz, en un idioma que dependerá del modo en que lo tengamos configurado en nuestro ordenador (en mi caso, en inglés). La mencionada introducción de texto (y con ella la ejecución de nuestro programa) solo finalizará cuando introduzcamos un punto (“.”) en  el “input”, motivo por el cual, hemos tenido que definir, antes del ciclo, la variable “texto” (“texto=(“”)”).

ejemplotv

Otra posibilidad que daremos al usuario es la de “repetir” mediante voz el último texto introducido con la sola introducción en el “input” de un espacio (” “), lo cual hará que se reproduzca el último texto reproducido, el cual, se habrá almacenado previamente en la variable “prev_text”, también definida previamente al ciclo.

repe

El código completo de este programa puede verse en el siguiente enlace a Github:

https://github.com/antonioam82/textvoice-player

Saludos.

Comentarios

Entradas más populares de este blog

Calculando el factorial de un número (ejemplo de función recursiva).

Hola, mi nombre es Antonio Alfonso Martínez y en el presente artículo me dispongo a explicar un sencillo método para calcular el factorial de un número haciendo uso del concepto de recursividad. Para empezar, diremos que el factorial de un número natural "n" es el resultado del producto de todos los números desde 1 hasta dicho número "n". Así, para efectuar el calculo del factorial de un número, vamos a emplear una sencilla función a la que daremos el nombre de "factorial". De modo, que, partiendo del hecho de que el factorial de 1 y 0 es 1, construiremos nuestra función (a la que daremos el nombre de "factorial") para realizar el calculo del factorial de 5: Lo que hace esta función, es tomar como argumento un número "n". de modo que si este es 0 o 1 ("if n==0 or n==1:") la función devolverá directamente como resultado el número 1 ("resultado=1"). Sin embargo si dicho número "n" es mayor que...

Sistema Hexadecimal - Sistema de numeración posicional

Sistema Hexadecimal El sistema hexadecimal es un sistema numérico que tiene como base el numero 16, y es una variante de los numero binarios El sistema hexadecimal es utilizado por nuestros ordenadores con el fin de abreviar valores de datos e instrucciones de memoria. Esta es una imagen que muestra el contenido de un archivo con exención 'dll' en un editor de texto, como el editor de texto no reconoce este tipo de archivo, nos lo muestra de esta manera: Como se puede apreciar, en vez de ver una gran cantidad de 0 y 1, vemos que hay grupos de 4 dígitos, y si observamos, vemos que son grupos de dígitos hexadecimales. El archivo cuentan con más de 48 mil lineas, por ello no se me es posible mostrarlo todo. Este es uno de los usos del sistema hexadecimal para abreviar grandes cantidades de 0 y 1. Ustedes mismos pueden hacer la prueba con una imagen o con cualquier otro tipo de texto. El sistema hexadecima, esta conformado por solo 16 dígitos. A continuación te lo...

Ejercicios de Programación en Java: Condicionales, Bucles, Tablas y Funciones

PRÓLOGO El libro Ejercicios de Programación en Java: Condicionales, Bucles, Tablas y Funciones nace como fruto de años de docencia en materias relacionadas: Algorítmica, Programación, Lenguaje C y Java, entre otros.  Con el paso del tiempo he constatado que aprender un lenguaje de programación es relativamente sencillo y sobre este tema existen muchos y muy buenos textos. Pero aprender a programar es algo totalmente distinto, que necesita de un mayor esfuerzo y abordar el problema desde otra perspectiva. Siempre utilizo la metáfora del pianista para explicar el tándem programar/lenguaje de programación: saber tocar las notas de un piano es relativamente fácil, tan solo debemos anotar en cada una de las teclas a qué nota musical corresponde. Esto sería similar a conocer un lenguaje de programación. Es muy sencillo utilizar un if o entender la mecánica de un while .  Volviendo al piano: una vez que dominamos la relación tecla/nota, un pianista debe aprender muchas ot...