Nota
Hola, bienvenido a la comunidad de entusiastas de SunFounder Raspberry Pi & Arduino & ESP32 en Facebook. ¡Explora más a fondo Raspberry Pi, Arduino y ESP32 con otros entusiastas!
¿Por qué unirse?
Soporte experto: Resuelve problemas postventa y desafíos técnicos con la ayuda de nuestra comunidad y equipo.
Aprende y comparte: Intercambia consejos y tutoriales para mejorar tus habilidades.
Avances exclusivos: Obtén acceso anticipado a anuncios de nuevos productos y vistas previas.
Descuentos especiales: Disfruta de descuentos exclusivos en nuestros productos más recientes.
Promociones festivas y sorteos: Participa en sorteos y promociones de temporada.
👉 ¿Listo para explorar y crear con nosotros? Haz clic en [aquí] y únete hoy mismo.
15. STT (Speech-to-Text)
Este ejemplo demuestra cómo usar el módulo STT (Speech-to-Text) en PiCrawler. El robot escucha su voz a través del micrófono integrado y la convierte en texto en tiempo real.
Ejecutar el código
cd ~/picrawler/examples
sudo python3 15_stt.py
Después de ejecutar el programa, verá la configuración de idioma y un aviso. El robot comienza a escuchar — hable por el micrófono y el texto reconocido se imprimirá en el terminal.
Si no se detecta voz, se muestra (no speech detected). Presione
Ctrl+C para salir.
Antes de comenzar
Asegúrese de haber completado:
Instalar todos los módulos (Importante) — Instale los módulos
robot-hat,vilib,picrawler, luego ejecute el scripti2samp.sh.
Código
Nota
Puede Modificar/Restablecer/Copiar/Ejecutar/Detener el código siguiente.
Pero antes, debe ir a la ruta del código fuente como picrawler\examples.
Después de modificar el código, puede ejecutarlo directamente para ver el efecto.
#!/usr/bin/env python3
from robot_hat.stt import STT
# Demo de reconocimiento de voz usando el módulo STT de sunfounder_voice_assistant
# Ctrl+C para salir
# Configurar idioma: "en-us", "zh-cn", "es-es", etc.
LANGUAGE = "en-us"
def main():
print("=== Demo PiCrawler Speech-to-Text ===")
print(f"Idioma: {LANGUAGE}")
print("Ctrl+C para salir")
print()
stt = STT(language=LANGUAGE)
try:
while True:
print("Escuchando... (hable ahora)")
text = stt.listen()
if text:
print(f">>> {text}")
else:
print("(no se detectó voz)")
except KeyboardInterrupt:
print("\nSaliendo...")
if __name__ == "__main__":
main()
¿Cómo funciona?
Importando el módulo STT
from robot_hat.stt import STT
La clase
STTes parte del paqueterobot_hat. Maneja toda la captura de audio de bajo nivel y el procesamiento de reconocimiento de voz.Configurando el idioma
LANGUAGE = "en-us"
La variable
LANGUAGEconfigura el idioma de reconocimiento. Puede cambiarla a otros códigos compatibles como"zh-cn"(chino) o"es-es"(español) según sus necesidades.Creando la instancia STT
stt = STT(language=LANGUAGE)
Esto crea un objeto STT configurado para el idioma elegido. El objeto inicializa el micrófono y el motor de reconocimiento de voz.
El bucle de escucha
while True: print("Escuchando... (hable ahora)") text = stt.listen() if text: print(f">>> {text}") else: print("(no se detectó voz)")
El programa ejecuta un bucle infinito donde cada iteración:
Solicita al usuario que hable.
Llama a
stt.listen()que se bloquea hasta que se detecta y procesa la voz.Devuelve el texto reconocido como cadena, o
None/ vacío si no se entendió nada.Imprime el resultado en el terminal.
Salida controlada
except KeyboardInterrupt: print("\nSaliendo...")
Presionar Ctrl+C genera un
KeyboardInterrupt, que se captura para imprimir un mensaje de salida y terminar el programa limpiamente.