Riconoscimento vocale
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.
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:
- L'app inizializza Speech SDK: fornisce un endpoint e un'autenticazione (chiave o ID Microsoft Entra)
- L'audio viene acquisito o caricato: input del microfono o un file audio/streaming
- L'audio viene inviato ad Azure Speech: l'SDK trasmette o carica l'audio in modo sicuro
- Riconoscimento vocale eseguito nel cloud: i modelli vocali di Azure analizzano l'audio
- 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.
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.
Dopo aver eseguito il codice, è possibile visualizzare il testo della trascrizione.
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.