Nota

Ciao, benvenuto nella Community SunFounder Raspberry Pi & Arduino & ESP32 su Facebook! Esplora a fondo Raspberry Pi, Arduino ed ESP32 insieme ad altri appassionati.

Perché unirti a noi?

  • Supporto esperto: Risolvi problemi post-vendita e sfide tecniche con l’aiuto della nostra community e del nostro team.

  • Impara e condividi: Scambia suggerimenti e tutorial per migliorare le tue competenze.

  • Anteprime esclusive: Accedi in anteprima agli annunci di nuovi prodotti.

  • Sconti speciali: Approfitta di sconti esclusivi sui nostri prodotti più recenti.

  • Promozioni festive e giveaway: Partecipa a concorsi e promozioni speciali.

👉 Sei pronto a esplorare e creare con noi? Clicca [qui] e unisciti subito!

15. STT (Speech-to-Text)

Questo esempio mostra come utilizzare il modulo STT (Speech-to-Text) su PiCrawler. Il robot ascolta la tua voce attraverso il microfono integrato e la converte in testo in tempo reale.

Esegui il codice

cd ~/picrawler/examples
sudo python3 15_stt.py

Dopo aver eseguito il programma, vedrai l’impostazione della lingua e un prompt. Il robot inizia ad ascoltare — parla nel microfono e il testo riconosciuto verrà stampato nel terminale.

Se non viene rilevata alcuna voce, viene mostrato (no speech detected). Premi Ctrl+C per uscire.

Prima di iniziare

Assicurati di aver completato:

Codice

Nota

Puoi Modificare/Reimpostare/Copiare/Eseguire/Fermare il codice qui sotto. Ma prima, devi andare nel percorso del codice sorgente come picrawler\examples. Dopo aver modificato il codice, puoi eseguirlo direttamente per vedere l’effetto.

#!/usr/bin/env python3
from robot_hat.stt import STT

# Demo di riconoscimento vocale con il modulo STT di sunfounder_voice_assistant
# Ctrl+C per uscire

# Configura lingua: "en-us", "zh-cn", "it-it", ecc.
LANGUAGE = "en-us"

def main():
    print("=== Demo PiCrawler Speech-to-Text ===")
    print(f"Lingua: {LANGUAGE}")
    print("Ctrl+C per uscire")
    print()

    stt = STT(language=LANGUAGE)

    try:
        while True:
            print("In ascolto... (parla ora)")
            text = stt.listen()
            if text:
                print(f">>> {text}")
            else:
                print("(nessuna voce rilevata)")
    except KeyboardInterrupt:
        print("\nUscita...")

if __name__ == "__main__":
    main()

Come funziona?

  1. Importazione del modulo STT

    from robot_hat.stt import STT
    

    La classe STT fa parte del pacchetto robot_hat. Gestisce tutta la cattura audio di basso livello e l’elaborazione del riconoscimento vocale.

  2. Impostazione della lingua

    LANGUAGE = "en-us"
    

    La variabile LANGUAGE configura la lingua di riconoscimento. Puoi cambiarla con altri codici supportati come "zh-cn" (cinese) o "it-it" (italiano) in base alle tue esigenze.

  3. Creazione dell’istanza STT

    stt = STT(language=LANGUAGE)
    

    Questo crea un oggetto STT configurato per la lingua scelta. L’oggetto inizializza il microfono e il motore di riconoscimento vocale.

  4. Il ciclo di ascolto

    while True:
        print("In ascolto... (parla ora)")
        text = stt.listen()
        if text:
            print(f">>> {text}")
        else:
            print("(nessuna voce rilevata)")
    

    Il programma esegue un ciclo infinito dove ogni iterazione:

    • Invita l’utente a parlare.

    • Chiama stt.listen() che si blocca finché la voce non viene rilevata ed elaborata.

    • Restituisce il testo riconosciuto come stringa, o None / vuoto se non è stato compreso nulla.

    • Stampa il risultato nel terminale.

  5. Uscita controllata

    except KeyboardInterrupt:
        print("\nUscita...")
    

    Premere Ctrl+C genera un KeyboardInterrupt, che viene catturato per stampare un messaggio di uscita e terminare il programma in modo pulito.