.. note:: 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 [|link_sf_facebook|] y únete hoy mismo. .. _py_stt: 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** .. raw:: html .. code-block:: 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: * :ref:`install_all_modules` — Instale los módulos ``robot-hat``, ``vilib``, ``picrawler``, luego ejecute el script ``i2samp.sh``. **Código** .. note:: 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. .. raw:: html .. code-block:: python #!/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 .. code-block:: python from robot_hat.stt import STT La clase ``STT`` es parte del paquete ``robot_hat``. Maneja toda la captura de audio de bajo nivel y el procesamiento de reconocimiento de voz. #. Configurando el idioma .. code-block:: python LANGUAGE = "en-us" La variable ``LANGUAGE`` configura 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 .. code-block:: python 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 .. code-block:: python 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 .. code-block:: python except KeyboardInterrupt: print("\nSaliendo...") Presionar **Ctrl+C** genera un ``KeyboardInterrupt``, que se captura para imprimir un mensaje de salida y terminar el programa limpiamente.