Diferencia entre revisiones de «Butiá que habla»

De Proyecto Butiá
Saltar a: navegación, buscar
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">
+
</syntaxhighlight>
 +
 
 
Luego definimos la función del bloque "Speak Butia":
 
Luego definimos la función del bloque "Speak Butia":
 
<syntaxhighlight lang="python">
 
<syntaxhighlight lang="python">

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))

Luego definimos la función del bloque "Speak Butia":

  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].