Diferencia entre revisiones de «Butiá que habla»

De Proyecto Butiá
Saltar a: navegación, buscar
 
(No se muestran 12 ediciones intermedias de 2 usuarios)
Línea 1: Línea 1:
Se puede utilizar el [http://tonyforster.blogspot.com/2011/02/turtle-art-text-to-speech.html ejemplo publicado por Tony Foster] para tortugarte para que el robot butiá hable.
 
 
Actualizaciones:
 
 
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":
 
+
<syntaxhighlight lang="python">
 
+
    espeak -v es-la "x"  
> espeak -v es-la "$x"
+
</syntaxhighlight>
+
 
+
 
"espeak": es el comando que nos permite introducir una palabra o frase, y la computadora "habla" lo que se escribe.
 
"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.
 
"-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.  
+
"x": palabra o frase a reproducir.
  
 +
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
     style='basic-style-1arg', # the block style
+
     style='basic-style-1arg',                               # the block style
     label=_('Speak Butiá'), # the label for the block
+
     label=_('Speak Butiá'),                               # the label for the block
 
     default=['Soy el robot Butiá'],   
 
     default=['Soy el robot Butiá'],   
     prim_name='SpeakButia', # code reference (see below)
+
     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))
 +
</syntaxhighlight>
  
Actualmente se está trabajando para corregir la función del bloque:
+
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 "$x"')
+
     os.system('espeak -v es-la "%s"' % x)
 +
</syntaxhighlight>
 +
 
 +
"%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>
 +
 
  
Esta ultima linea de código no funciona, al presionar sobre el bloque "Hablar Butia", la función no emite sonido alguno.
 
  
14/11/2011 12:01 a.m.   ON CONSTRUCTION
+
Fuente de ayuda:
 +
[http://tonyforster.blogspot.com/2011/02/turtle-art-text-to-speech.html ejemplo publicado por Tony Forster].

Revisión actual del 12:56 17 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:


Habla1.png

El comportamiento en acción:


Fuente de ayuda: ejemplo publicado por Tony Forster.