1. Integrazione e uso del riconoscimento vocale e della trascrizione1. Integrating and using speech recognition and transcription

In questa serie di esercitazioni creerai un'applicazione di Realtà mista per esplorare l'uso dei servizi vocali di Azure con HoloLens 2.In this tutorial series, you will create a Mixed Reality application that explores the use of Azure Speech Services with the HoloLens 2. Al termine di questa serie di esercitazioni, sarai in grado di usare il microfono del tuo dispositivo per trascrivere il parlato in testo in tempo reale, tradurre il parlato in altre lingue e utilizzare la funzionalità Riconoscimento finalità per comprendere i comandi vocali usando l'intelligenza artificiale.When you complete this tutorial series, you will be able to use your device's microphone to transcribe speech to text in real time, translate your speech into other languages, and leverage the Intent recognition feature to understand voice commands using artificial intelligence.

ObiettiviObjectives

  • Imparare a integrare i servizi vocali di Azure con un'applicazione HoloLens 2Learn how to integrate Azure Speech Services with a HoloLens 2 application
  • Imparare a usare il riconoscimento vocale per trascrivere testoLearn how to use speech recognition to transcribe text

PrerequisitiPrerequisites

Suggerimento

Se non hai ancora completato la serie di Esercitazioni introduttive, è consigliabile completare prima queste esercitazioni.If you have not completed the Getting started tutorials series yet, it's recommended that you complete those tutorials first.

  • Un PC Windows 10 configurato in cui siano installati gli strumenti correttiA Windows 10 PC configured with the correct tools installed
  • Windows 10 SDK 10.0.18362.0 o versioni successiveWindows 10 SDK 10.0.18362.0 or later
  • Alcune funzionalità di programmazione C# di baseSome basic C# programming ability
  • Un dispositivo HoloLens 2 configurato per lo sviluppoA HoloLens 2 device configured for development
  • Unity Hub con Unity 2019 LTS installato e il modulo di supporto per la compilazione UWP (Universal Windows Platform) aggiuntoUnity Hub with Unity 2019 LTS installed and the Universal Windows Platform Build Support module added

Importante

La versione di Unity consigliata per questa serie di esercitazioni è Unity 2019 LTS.The recommended Unity version for this tutorial series is Unity 2019 LTS. Questa istruzione sostituisce gli eventuali requisiti o suggerimenti relativi alla versione di Unity indicati negli argomenti visualizzabili facendo clic sui collegamenti dei prerequisiti sopra riportati.This supersedes any Unity version requirements or recommendations stated in the prerequisites linked above.

Creazione e preparazione del progetto UnityCreating and preparing the Unity project

In questa sezione creerai un nuovo progetto Unity per prepararti allo sviluppo con MRTK.In this section, you will create a new Unity project and get it ready for MRTK development.

A questo scopo, segui prima l'esercitazione Inizializzazione del progetto e prima applicazione, escluse le istruzioni della sezione Compilare l'applicazione nel dispositivo, che include i passaggi seguenti:For this, first follow the Initializing your project and first application, excluding the Build your application to your device instructions, which includes the following steps:

  1. Creazione del progetto Unity e assegnazione di un nome appropriato, ad esempio MRTK TutorialsCreating the Unity project and give it a suitable name, for example, MRTK Tutorials
  2. Passaggio a un'altra piattaforma di compilazioneSwitching the build platform
  3. Importazione delle risorse essenziali TextMeshProImporting the TextMeshPro Essential Resources
  4. Importazione di Mixed Reality ToolkitImporting the Mixed Reality Toolkit
  5. Configurazione del progetto UnityConfiguring the Unity project
  6. Creazione e configurazione della scena e assegnazione di un nome appropriato, ad esempio AzureSpeechServicesCreating and configuring the scene and give the scene a suitable name, for example, AzureSpeechServices

Seguire quindi le istruzioni riportate in Modifica delle opzioni di visualizzazione di consapevolezza spaziale per impostare DefaultHoloLens2ConfigurationProfile come profilo di configurazione di MRTK per la scena e modificare in Occlusion (Occlusione) le opzioni di visualizzazione per la mesh di consapevolezza spaziale.Then follow the Changing the Spatial Awareness Display Option instructions to change the MRTK configuration profile for your scene to the DefaultHoloLens2ConfigurationProfile and change the display options for the spatial awareness mesh to Occlusion.

Configurazione del comportamento di avvio dei comandi vocaliConfiguring the speech commands start behavior

Poiché userai Speech SDK per il riconoscimento vocale e la trascrizione, devi configurare i comandi vocali di MRTK in modo che non interferiscano con le funzionalità di Speech SDK.Because you will use the Speech SDK for speech recognition and transcription you need to configure the MRTK Speech Commands so they do not interfere with the Speech SDK functionality. A tale scopo, puoi modificare il comportamento di avvio dei comandi vocali da Auto Start (Avvio automatico) a Manual Start (Avvio manuale).To achieve this you can change the speech commands start behavior from Auto Start to Manual Start.

Con l'oggetto MixedRealityToolkit selezionato nella finestra Hierarchy (Gerarchia), nella finestra Inspector (Controllo) seleziona la scheda Input, clona DefaultHoloLens2InputSystemProfile e DefaultMixedRealitySpeechCommandsProfile e quindi modifica i comandi vocali di Start Behavior (Comportamento di avvio) in Manual Start (Avvio manuale):With the MixedRealityToolkit object selected in the Hierarchy window, in the Inspector window, select the Input tab, clone the DefaultHoloLens2InputSystemProfile and the DefaultMixedRealitySpeechCommandsProfile, and then change the speech commands Start Behavior to Manual Start:

mrlearning-speech

Suggerimento

Per rivedere la procedura di clonazione e configurazione dei profili di MRTK, fare riferimento alle istruzioni riportate in Configurazione dei profili di Mixed Reality Toolkit.For a reminder on how to clone and configure MRTK profiles, you can refer to the Configuring the Mixed Reality Toolkit profiles instructions.

Configurazione delle funzionalitàConfiguring the capabilities

Dal menu Unity scegli Edit > Project Settings... (Modifica > Impostazioni del progetto) per aprire la finestra Project Settings (Impostazioni del progetto) e quindi individua la sezione Player > Publishing Settings (Lettore > Impostazioni di pubblicazione):In the Unity menu, select Edit > Project Settings... to open the Player Settings window, then locate the Player > Publishing Settings section:

mrlearning-speech

In Publishing Settings (Impostazioni di pubblicazione) scorri verso il basso fino alla sezione Capabilities (Funzionalità) e verifica che siano abilitate le funzionalità InternetClient, Microphone e SpatialPerception, che hai abilitato al momento della creazione del progetto all'inizio dell'esercitazione.In the Publishing Settings, scroll down to the Capabilities section and double-check that the InternetClient, Microphone, and SpatialPerception capabilities, which you enabled when you created the project at the beginning of the tutorial, are enabled. Abilita quindi le funzionalità InternetClientServer e PrivateNetworkClientServer:Then, enable the InternetClientServer and PrivateNetworkClientServer capabilities:

mrlearning-speech

Importazione degli asset dell'esercitazioneImporting the tutorial assets

Scarica e importa i pacchetti personalizzati di Unity seguenti, nell'ordine in cui sono elencati:Download and import the following Unity custom packages in the order they are listed:

Suggerimento

Per rivedere la procedura di importazione di un pacchetto personalizzato di Unity, è possibile fare riferimento alle istruzioni riportate in Importazione di Mixed Reality Toolkit.For a reminder on how to import a Unity custom package, you can refer to the Importing the Mixed Reality Toolkit instructions.

Dopo l'importazione degli asset dell'esercitazione, la finestra Project (Progetto) avrà un aspetto simile al seguente:After you have imported the tutorial assets your Project window should look similar to this:

mrlearning-speech

Preparazione della scenaPreparing the scene

In questa sezione preparerai la scena aggiungendo il prefab dell'esercitazione e configurerai il componente Lunarcom Controller (Script) (Controller Lunarcom - Script) per il controllo della scena.In this section, you will prepare the scene by adding the tutorial prefab and configure the Lunarcom Controller (Script) component to control your scene.

Nella finestra Project (Progetto) passa ad Assets > MRTK.Tutorials.AzureSpeechServices > Prefabs (Asset > MRTK.Tutorials.AzureSpeechServices > Prefab) e trascina il prefab Lunarcom nella finestra Hierarchy (Gerarchia) per aggiungerlo alla scena:In the Project window, navigate to Assets > MRTK.Tutorials.AzureSpeechServices > Prefabs folder and drag the Lunarcom prefab into the Hierarchy window to add it to your scene:

mrlearning-speech

Con l'oggetto Lunarcom ancora selezionato nella finestra Hierarchy (Gerarchia), nella finestra Inspector (Controllo) usa il pulsante Add Component (Aggiungi componente) per aggiungere il componente Lunarcom Controller (Script) (Controller Lunarcom - Script) all'oggetto Lunarcom:With the Lunarcom object still selected in the Hierarchy window, in the Inspector window, use the Add Component button to add the Lunarcom Controller (Script) component to the Lunarcom object:

mrlearning-speech

Nota

Il componente Lunarcom Controller (Script) (Controller Lunarcom - Script) non fa parte di MRTK.The Lunarcom Controller (Script) component is not part of MRTK. È stato fornito con gli asset dell'esercitazione.It was provided with this tutorial's assets.

Con l'oggetto Lunarcom ancora selezionato, espandi l'oggetto in modo da visualizzarne gli oggetti figlio e quindi trascina l'oggetto Terminal nel campo Terminal (Terminale) del componente Lunarcom Controller (Script) (Controller Lunarcom - Script):With the Lunarcom object still selected, expand it to reveal its child objects, then drag the Terminal object into the Lunarcom Controller (Script) component's Terminal field:

mrlearning-speech

Con l'oggetto Lunarcom ancora selezionato, espandi l'oggetto Terminal in modo da visualizzarne gli oggetti figlio e quindi trascina l'oggetto ConnectionLight nel campo Connection Light (Luce di connessione) e l'oggetto OutputText nel campo Output Text (Testo di output) del componente Lunarcom Controller (Script) (Controller Lunarcom - Script):With the Lunarcom object still selected, expand the Terminal object to reveal its child objects, then drag the ConnectionLight object into the Lunarcom Controller (Script) component's Connection Light field and the OutputText object into the Output Text field:

mrlearning-speech

Con l'oggetto Lunarcom ancora selezionato, espandi l'oggetto Buttons per visualizzarne gli oggetti figlio e quindi nella finestra Inspector (Controllo) espandi l'elenco Buttons (Pulsanti), imposta Size (Dimensioni) su 3 e trascina gli oggetti MicButton, SatelliteButton e RocketButton rispettivamente nei campi Element (Elemento) 0, 1 e 2:With the Lunarcom object still selected, expand the Buttons object to reveal its child objects, and then in the Inspector window, expand the Buttons list, set its Size to 3, and drag the MicButton, SatelliteButton, and RocketButton objects into the Element 0, 1, and 2 fields respectively:

mrlearning-speech

Connessione del progetto Unity alla risorsa di AzureConnecting the Unity project to the Azure resource

Per usare i servizi vocali di Azure, devi creare una risorsa di Azure e ottenere una chiave API per il servizio vocale.To use Azure Speech Services, you need to create an Azure resource and obtain an API key for the Speech Service. Segui le istruzioni contenute in Provare gratuitamente il servizio Voce e prendi nota dell'area geografica del servizio, (definita anche posizione) e della chiave API (definita anche Key1 o Key2).Follow the Try the Speech service for free instructions and make a note of your service region (also known as Location) and API key (also known as Key1 or Key2).

Nella finestra Hierarchy (Gerarchia) seleziona l'oggetto Lunarcom e quindi nella finestra Inspector (Controllo) individua la sezione Speech SDK Credentials (Credenziali Speech SDK) del componente Lunarcom Controller (Script) (Controller Lunarcom - Script) e configurala come indicato di seguito:In the Hierarchy window, select the Lunarcom object, then in the Inspector window, locate the Lunarcom Controller (Script) component's Speech SDK Credentials section and configure it as follows:

  • Nel campo Speech Service API Key (Chiave API servizio vocale) immetti la chiave API (Key1 o Key2)In the Speech Service API Key field, enter your API key (Key1 or Key2)
  • Nel campo Speech Service Region (Area del servizio vocale) immetti l'area geografica del servizio (posizione) usando lettere minuscole e rimuovendo gli spaziIn the Speech Service Region field, enter your service region (Location) using lowercase letters and spaces removed

mrlearning-speech

Uso del riconoscimento vocale per la trascrizione di testoUsing speech recognition to transcribe speech

Nella finestra Hierarchy (Gerarchia) seleziona l'oggetto Lunarcom e quindi nella finestra Inspector (Controllo) usa il pulsante Add Component (Aggiungi componente) per aggiungere il componente Lunarcom Speech Recognizer (Script) (Riconoscimento vocale Lunarcom - Script) all'oggetto Lunarcom:In the Hierarchy window, select the Lunarcom object, then in the Inspector window, use the Add Component button to add the Lunarcom Speech Recognizer (Script) component to the Lunarcom object:

mrlearning-speech

Nota

Il componente Lunarcom Speech Recognizer (Script) (Riconoscimento vocale Lunarcom - Script) non fa parte di MRTK.The Lunarcom Speech Recognizer (Script) component is not part of MRTK. È stato fornito con gli asset dell'esercitazione.It was provided with this tutorial's assets.

Se ora attivi la modalità gioco, puoi testare il riconoscimento vocale selezionando prima il pulsante del microfono:If you now enter Game mode, you can test the speech recognition by first pressing the microphone button:

mrlearning-speech

Supponendo quindi che il computer disponga di un microfono, quando pronunci una frase, questa verrà trascritta nel pannello del terminale:Then, assuming your computer has a microphone, when you say something, your speech will be transcribed on the terminal panel:

mrlearning-speech

Attenzione

Poiché l'applicazione deve connettersi ad Azure, assicurati che il computer o il dispositivo sia connesso a Internet.The application needs to connect to Azure, so make sure your computer/device is connected to the internet.

Lezione completataCongratulations

Hai implementato il riconoscimento vocale basato su Azure.You have implemented speech recognition powered by Azure. Esegui l'applicazione nel dispositivo per verificare che la funzionalità venga eseguita correttamente.Run the application on your device to ensure the feature is working properly.

Nell'esercitazione successiva apprenderai come eseguire i comandi con il riconoscimento vocale di Azure.In the next tutorial, you will learn how to execute commands using Azure speech recognition.