Síntesis de voz y sonido
Introducción
Robobo puede reproducir un texto cualquiera, un conjunto de sonidos de emoción predeterminados y algunas notas musicales. Para ello se utiliza el altavoz del smartphone en el caso del robot real, y el altavoz del ordenador en el caso del robot simulado.
Elementos de programación
1. Enumerado Sounds
Representa la lista de sonidos de emoción que Robobo puede reproducir.
-
-
-
-
- PURR: Ronroneo.
- MOAN: Queja.
- ANGRY: Enfado.
- APPROVE: Aprobación.
- DISAPPROVE: Desaprobación.
- DISCOMFORT: Incomodidad.
- DOUBTFUL: Duda.
- LAUGH: Risa.
- LIKES: Gustar.
- MUMBLE: Mascullar.
- OUCH: Ay.
- THINK: Pensar.
- VARIOUS: Varios.
-
-
-
2. Método sayText
| sayText (speech, wait=True) |
|
Utiliza los altavoces del smartphone para reproducir un texto. Parámetros: • speech (string): Texto que se reproduce. • wait (boolean): Indica si este método se ejecuta en modo bloqueante ( True) o no (False).
|
Ejemplo de Uso
El siguiente programa hace que Robobo diga una frase, y tras una pausa diga otra frase.
from robobopy.Robobo import Roboborob = Robobo("localhost")
rob.connect()
rob.sayText('Hola, soy Robobo')
rob.wait(1)
rob.sayText('¿Qué tal si le das un poco al cerebro y me programas para hacer algo útil?')
3. Método playNote
| playNote (note, duration, wait=True) |
|
Hace que Robobo toque una nota musical. Parámetros: • note (int): Nota a reproducir siguiendo la notación anglosajona. Se permiten 133 posibles notas. El siguiente esquema muestra la equivalencia en el rango de 48 a 59: • duration (float): Duración de la nota en segundos. Toma valores positivos. |
Ejemplo de Uso
El siguiente programa reproduce una parte de la escala musical.
from robobopy.Robobo import Robobo
rob = Robobo("localhost")
rob.connect()
nota = 52
rob.wait(1)
while (nota < 64):
rob.wait(0.1)
rob.playNote(nota,1)
nota = nota +1
4. Método playSound
| playSound (sound, wait=True) |
|
Utiliza los altavoces del smartphone para reproducir un sonido. Parámetros: • sound (Sounds): El sonido que se reproduce. • wait (boolean): Indica si este método se ejecuta en modo bloqueante ( True) o no (False).
|
Ejemplo de Uso
El siguiente programa hace que Robobo diga una frase y luego reproduzca un sonido.
from robobopy.Robobo import Robobo
from robobopy.utils.Sounds import Sounds
rob = Robobo("localhost")
rob.connect()
sayText('Hoy me siento feliz')
rob.playSound(Sounds.LAUGH)
