Diferencia entre revisiones de «Butiá que habla»
De Proyecto Butiá
Línea 12: | Línea 12: | ||
A partir de aquí comenzamos la creación del bloque en Tortugarte. | A partir de aquí comenzamos la creación del bloque en Tortugarte. | ||
− | + | <syntaxhighlight lang="python"> | |
primitive_dictionary['SpeakButia'] = self.SpeakButia | primitive_dictionary['SpeakButia'] = self.SpeakButia | ||
palette.add_block('SpeakButia', # the name of your block | palette.add_block('SpeakButia', # the name of your block | ||
Línea 21: | Línea 21: | ||
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)) | ||
− | + | </syntaxhighlight lang="python"> | |
Luego definimos la función del bloque "Speak Butia": | Luego definimos la función del bloque "Speak Butia": | ||
− | + | <syntaxhighlight lang="python"> | |
def SpeakButia(self, x): | def SpeakButia(self, x): | ||
import os | import os | ||
os.system('espeak -v es-la "%s"' % x) | os.system('espeak -v es-la "%s"' % x) | ||
+ | </syntaxhighlight lang="python"> | ||
"%s": indica al lenuaje que el tipo de dato que se ingresa es una cadena de caracteres(String). | "%s": indica al lenuaje que el tipo de dato que se ingresa es una cadena de caracteres(String). |
Revisión del 00:18 16 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))
</syntaxhighlight lang="python">
Luego definimos la función del bloque "Speak Butia":
<syntaxhighlight lang="python">
def SpeakButia(self, x):
import os
os.system('espeak -v es-la "%s"' % x)
</syntaxhighlight lang="python">
"%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:
<center><youtube>2wvmjlkkTyQ</youtube></center>
Fuente de ayuda:
[http://tonyforster.blogspot.com/2011/02/turtle-art-text-to-speech.html ejemplo publicado por Tony Foster].