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 Robobo
from robobopy.utils.Wheels import Wheels
rob = Robobo("localhost")
rob.connect()
rob.moveWheelsByDegrees(Wheels.BOTH, 360, 30)
rob.moveWheelsByDegrees(Wheels.L, 180, -30)
rob.moveWheelsByDegrees(Wheels.R, 180, 50)
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
from robobopy.utils.Wheels import Wheels
rob = Robobo("localhost")
rob.connect()
rob.moveWheelsByDegrees(Wheels.BOTH, 360, 30)
rob.moveWheelsByDegrees(Wheels.L, 180, -30)
rob.moveWheelsByDegrees(Wheels.R, 180, 50)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.Wheels import Wheels
rob = Robobo("localhost")
rob.connect()
rob.moveWheelsByDegrees(Wheels.BOTH, 360, 30)
rob.moveWheelsByDegrees(Wheels.L, 180, -30)
rob.moveWheelsByDegrees(Wheels.R, 180, 50)