Diferencia entre revisiones de «Butiá que habla»
Línea 1: | Línea 1: | ||
− | |||
− | |||
− | |||
Hemos trabajado para implementar el código Python en un bloque para Tortugarte. | Hemos trabajado para implementar el código Python en un bloque para Tortugarte. | ||
En primer lugar, mediante consola, implementamos la linea de comando que permite emitir como sonido de habla las palabras "x": | En primer lugar, mediante consola, implementamos la linea de comando que permite emitir como sonido de habla las palabras "x": | ||
− | + | espeak -v es-la "x" | |
Línea 13: | Línea 10: | ||
"-v es-la": parámetros agregados que cambian el idioma de la voz a español latinoamericano. | "-v es-la": parámetros agregados que cambian el idioma de la voz a español latinoamericano. | ||
− | " | + | "x": palabra o frase a reproducir. |
A partir de aquí comenzamos la creación del bloque en Tortugarte. | A partir de aquí comenzamos la creación del bloque en Tortugarte. | ||
primitive_dictionary['SpeakButia'] = self.SpeakButia | primitive_dictionary['SpeakButia'] = self.SpeakButia | ||
− | palette.add_block('SpeakButia', | + | palette.add_block('SpeakButia', # the name of your block |
− | style='basic-style-1arg', | + | style='basic-style-1arg', # the block style |
− | label=_('Speak Butiá'), | + | label=_('Speak Butiá'), # the label for the block |
default=['Soy el robot Butiá'], | default=['Soy el robot Butiá'], | ||
− | prim_name='SpeakButia', | + | prim_name='SpeakButia', # code reference (see below) |
help_string=_('Reproduce en sonido el texto escrito.')) | help_string=_('Reproduce en sonido el texto escrito.')) | ||
self.tw.lc.def_prim('SpeakButia', 1, lambda self, x: primitive_dictionary['SpeakButia'](x)) | self.tw.lc.def_prim('SpeakButia', 1, lambda self, x: primitive_dictionary['SpeakButia'](x)) | ||
− | + | Luego definimos la función del bloque "Speak Butia": | |
def SpeakButia(self, x): | def SpeakButia(self, x): | ||
import os | import os | ||
− | os.system('espeak -v es-la " | + | os.system('espeak -v es-la "%s"' % x) |
+ | |||
+ | "%s": indica al lenuaje que el tipo de dato que se ingresa es una cadena de caracteres(String). | ||
+ | |||
+ | Luego de insertar este código en el plugin correspondiente, tendremos creado nuestro nuevo bloque que nos permitirá reproducir lo que escribimos: | ||
+ | |||
+ | |||
+ | <center>[[Archivo:Habla1.png]]</center> | ||
+ | |||
+ | El comportamiento en acción: | ||
+ | |||
+ | <youtube>2wvmjlkkTyQ</youtube> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
− | |||
− | + | Fuente de ayuda: | |
+ | [http://tonyforster.blogspot.com/2011/02/turtle-art-text-to-speech.html ejemplo publicado por Tony Foster]. |
Revisión del 12:41 15 nov 2011
Hemos trabajado para implementar el código Python en un bloque para Tortugarte. En primer lugar, mediante consola, implementamos la linea de comando que permite emitir como sonido de habla las palabras "x":
espeak -v es-la "x"
"espeak": es el comando que nos permite introducir una palabra o frase, y la computadora "habla" lo que se escribe.
"-v es-la": parámetros agregados que cambian el idioma de la voz a español latinoamericano.
"x": palabra o frase a reproducir.
A partir de aquí comenzamos la creación del bloque en Tortugarte.
primitive_dictionary['SpeakButia'] = self.SpeakButia palette.add_block('SpeakButia', # the name of your block style='basic-style-1arg', # the block style label=_('Speak Butiá'), # the label for the block default=['Soy el robot Butiá'], prim_name='SpeakButia', # code reference (see below) help_string=_('Reproduce en sonido el texto escrito.')) self.tw.lc.def_prim('SpeakButia', 1, lambda self, x: primitive_dictionary['SpeakButia'](x))
Luego definimos la función del bloque "Speak Butia":
def SpeakButia(self, x): import os os.system('espeak -v es-la "%s"' % x)
"%s": indica al lenuaje que el tipo de dato que se ingresa es una cadena de caracteres(String).
Luego de insertar este código en el plugin correspondiente, tendremos creado nuestro nuevo bloque que nos permitirá reproducir lo que escribimos:
El comportamiento en acción:
Fuente de ayuda: ejemplo publicado por Tony Foster.