Riconoscimento vocale

Completato

Annotazioni

Per altri dettagli, vedi la scheda Testo e immagini .

Il riconoscimento vocale, spesso detto riconoscimento vocale (STT), è una funzionalità di intelligenza artificiale che consente alle app e agli agenti di rispondere all'input parlato. Il riconoscimento vocale accetta la parola pronunciata e lo converte in dati, in genere testo. Il software riconoscimento vocale usa in genere più modelli, tra cui:

  • Modello acustico che converte l'audio in fonemi (rappresentazioni di suoni specifici).
  • Modello linguistico che esegue il mapping dei fonemi alle parole.

Le parole che il riconoscimento vocale AI riconosce vengono convertite in testo. È possibile usare il testo per vari scopi, ad esempio fornire sottotitoli, creare trascrizioni delle chiamate, automatizzare la dettatura delle note e molto altro ancora.

Voce di Azure - Da Voce a Testo

Riconoscimento vocale di Azure include un'API riconoscimento vocale che è possibile usare per elaborare l'input vocale da un microfono o da un file audio.

Annotazioni

Un'API (Application Programming Interface) è un set di regole ed endpoint che consente a un'applicazione software di comunicare con e usare le funzionalità o i dati di un'altra applicazione.

Microsoft Foundry è una piattaforma Microsoft che consente agli sviluppatori di creare, testare e distribuire applicazioni e agenti di intelligenza artificiale combinando modelli, strumenti, dati e servizi in un'unica posizione.

Nel nuovo portale di Microsoft Foundry è possibile esplorare le funzionalità di riconoscimento vocale di Azure nel playground Foundry. Per accedere al playground, passare alla pagina Compila , quindi a Modelli e quindi alla scheda Servizi di intelligenza artificiale . Nella scheda è possibile trovare una selezione di servizi di intelligenza artificiale disponibili per i test, tra cui Riconoscimento vocale di Azure - Riconoscimento vocale in testo.

Nel playground è possibile caricare un file audio o registrare se stessi parlando. Azure Speech trascrive ciò che viene detto, fornendoti una percezione di come la tua applicazione risponderebbe all'input audio.

Screenshot del riconoscimento vocale nel playground Foundry.

Il playground nel portale Foundry è un ottimo punto di riferimento per sperimentare Il riconoscimento vocale di Azure, ma per usare il riconoscimento vocale in un'applicazione, è necessario scrivere codice.

Uso dell'SDK riconoscimento vocale di Azure

Speech - Speech-to-Text SDK di Azure è una libreria client che consente alle applicazioni di convertire l'audio parlato in testo scritto. L'SDK per la sintesi vocale è progettato per semplificare l'aggiunta del riconoscimento vocale alle applicazioni.

Annotazioni

Una libreria client è un set di codice pronto per l'uso da parte degli sviluppatori nell'applicazione per comunicare facilmente con un servizio o un'API.

L'SDK consente all'applicazione di:

  • Acquisire o inviare audio da un microfono, un file audio o un flusso audio
  • Inviare l'audio a Riconoscimento vocale di Azure in modo sicuro
  • Ricevere testo trascritto quasi in tempo reale o dopo il completamento dell'elaborazione

L'SDK gestisce l'analisi di rete, autenticazione, streaming audio e risposta in modo che gli sviluppatori possano concentrarsi sulla logica dell'applicazione.

Sviluppo di un'applicazione

Speech-to-Text SDK viene in genere usato nel livello client o di servizio di un'applicazione. L'SDK funge da ponte tra il codice dell'applicazione e il servizio Voce di Azure.

Per usare Azure Speech Python SDK, è necessario avere una versione compatibile di Python e Azure Speech Python SDK installata.

Python SDK può essere installato nel terminale di Visual Studio Code usando:

pip install azure-cognitiveservices-speech

Annotazioni

Il codice dell'applicazione viene scritto negli editor di codice, ad esempio Visual Studio Code. Il terminale di un editor di codice è una finestra della riga di comando predefinita all'interno dell'editor in cui è possibile eseguire comandi senza uscire dall'ambiente di sviluppo.

Per usare Riconoscimento vocale di Azure, è anche necessario creare una risorsa Foundry. L'endpoint e la chiave della risorsa Foundry vengono usati nel codice per autenticare la connessione.

Dopo aver installato Python SDK e aver creato una risorsa Foundry, è possibile creare ed eseguire il programma. Prendere in considerazione il codice Python seguente. Quando esegui il programma:

  1. L'app inizializza Speech SDK: fornisce un endpoint e un'autenticazione (chiave o ID Microsoft Entra)
  2. L'audio viene acquisito o caricato: input del microfono o un file audio/streaming
  3. L'audio viene inviato ad Azure Speech: l'SDK trasmette o carica l'audio in modo sicuro
  4. Riconoscimento vocale eseguito nel cloud: i modelli vocali di Azure analizzano l'audio
  5. Vengono restituiti risultati di testo: l'app riceve testo riconosciuto e metadati facoltativi
import azure.cognitiveservices.speech as speechsdk

# Set up the speech config using resource endpoint
endpoint_url = "ENDPOINT"
speech_key = "FOUNDRY_KEY"

speech_config = speechsdk.SpeechConfig(
    subscription=speech_key,
    endpoint=endpoint_url
)

# Create a recognizer with microphone input
audio_config = speechsdk.audio.AudioConfig(use_default_microphone=True)
speech_recognizer = speechsdk.SpeechRecognizer(
    speech_config=speech_config, 
    audio_config=audio_config
)

# Event handlers
def recognized_handler(evt):
    print(f"Recognized: {evt.result.text}")

def recognizing_handler(evt):
    print(f"Recognizing: {evt.result.text}")

# Connect event handlers
speech_recognizer.recognized.connect(recognized_handler)
speech_recognizer.recognizing.connect(recognizing_handler)

# Start continuous recognition
speech_recognizer.start_continuous_recognition()
print("Say something...")

# Keep the program running
input("Press Enter to stop...")
speech_recognizer.stop_continuous_recognition()

Esempio di app client

Si supponga, ad esempio, di voler sviluppare un'app leggera che trascriva automaticamente i messaggi vocali. Nell'editor di codice è disponibile un file audio e un file Python che contiene il codice dell'applicazione.

Screenshot di Visual Studio Code con un file audio aperto.

Immagina di avere un file audio contenente una registrazione della segreteria telefonica. Per trascrivere il messaggio, iniziare specificando l'endpoint e la chiave e l'origine audio da trascrivere. Usare quindi un SpeechRecognizer oggetto per eseguire la trascrizione, prima di visualizzare i risultati.

Screenshot del codice Python per il riconoscimento vocale in Visual Studio Code.

Dopo aver eseguito il codice, è possibile visualizzare il testo della trascrizione.

Screenshot di Visual Studio Code con il terminale aperto e i risultati della sintesi vocale.

Opzioni di elaborazione audio

È possibile usare l'API Riconoscimento vocale di Azure per eseguire la trascrizione in tempo reale o batch dell'audio in un formato di testo. L'origine audio per la trascrizione può essere un flusso audio in tempo reale da un microfono o un file audio.

Trascrizione in tempo reale: il riconoscimento vocale in tempo reale consente di trascrivere flussi audio in testo. È possibile usare la trascrizione in tempo reale per presentazioni, dimostrazioni o qualsiasi altro scenario in cui una persona parla.

Per il funzionamento della trascrizione in tempo reale, è necessario che l'applicazione sia in ascolto dell'audio in ingresso da un microfono o da altre origini di input audio, ad esempio un file audio. Il codice dell'applicazione trasmette l'audio al servizio, che restituisce il testo trascritto.

Trascrizione batch: Non tutti gli scenari di conversione da voce a testo sono in tempo reale. Potrebbero essere presenti registrazioni audio archiviate in una condivisione file, in un server remoto o anche in una risorsa di archiviazione di Azure. È possibile puntare a file audio con un URI di firma di accesso condiviso (SAS) e ricevere in modo asincrono i risultati della trascrizione.

La trascrizione batch deve essere eseguita in modo asincrono, perché i processi batch sono pianificati secondo il principio del best effort. In genere l'esecuzione di un processo si avvia entro pochi minuti dalla richiesta, ma non è prevista alcuna stima in relazione al momento della modifica di un processo nello stato in esecuzione.

Riconoscimento vocale in Azure Speech è un ottimo modo per creare soluzioni che trascrivono audio registrato o automatizzano la didascalia vocale. Informazioni su come incorporare la sintesi vocale in un'applicazione.