1. Integración y uso del reconocimiento de voz y la transcripción1. Integrating and using speech recognition and transcription

En esta serie de tutoriales, crearás una aplicación de Mixed Reality que explore el uso de los servicios de voz de 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. Cuando completes esta serie de tutoriales, podrás usar el micrófono del dispositivo para transcribir la voz a texto en tiempo real, traducir la voz a otros idiomas y aprovechar la característica Reconocimiento de la intención para comprender los comandos de voz mediante inteligencia artificial.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.

ObjetivosObjectives

  • Aprender a integrar los servicios de voz de Azure con una aplicación de HoloLens 2Learn how to integrate Azure Speech Services with a HoloLens 2 application
  • Aprender a usar el reconocimiento de voz para transcribir textoLearn how to use speech recognition to transcribe text

Requisitos previosPrerequisites

Sugerencia

Si aún no has completado la serie de tutoriales de introducción, es recomendable que lo hagas en primer lugar.If you have not completed the Getting started tutorials series yet, it's recommended that you complete those tutorials first.

  • Un equipo Windows 10 configurado con las herramientas correctas instaladasA Windows 10 PC configured with the correct tools installed
  • SDK de Windows 10 10.0.18362.0 o posteriorWindows 10 SDK 10.0.18362.0 or later
  • Capacidad básica para programar con C#Some basic C# programming ability
  • Un dispositivo HoloLens 2 configurado para el desarrolloA HoloLens 2 device configured for development
  • Unity Hub con Unity 2019 LTS instalado y el módulo de compatibilidad con la compilación de la Plataforma universal de Windows agregadoUnity Hub with Unity 2019 LTS installed and the Universal Windows Platform Build Support module added

Importante

La versión de Unity recomendada para esta serie de tutoriales es Unity 2019 LTS.The recommended Unity version for this tutorial series is Unity 2019 LTS. Esta sustituye los requisitos de versión de Unity o las recomendaciones descritas en los requisitos previos vinculados anteriormente.This supersedes any Unity version requirements or recommendations stated in the prerequisites linked above.

Creación y preparación del proyecto de UnityCreating and preparing the Unity project

En esta sección, crearás un nuevo proyecto de Unity y lo prepararás para el desarrollo con MRTK.In this section, you will create a new Unity project and get it ready for MRTK development.

Para ello, antes debes seguir las instrucciones de Inicialización de tu proyecto y primera aplicación, a excepción de la sección Compilación de la aplicación para el dispositivo, que incluyen los pasos siguientes: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. Crear el proyecto de Unity y asignarle un nombre adecuado; por ejemplo, MRTK TutorialsCreating the Unity project and give it a suitable name, for example, MRTK Tutorials
  2. Cambiar la plataforma de compilaciónSwitching the build platform
  3. Importar los recursos esenciales de TextMeshProImporting the TextMeshPro Essential Resources
  4. Importar Mixed Reality ToolkitImporting the Mixed Reality Toolkit
  5. Configurar el proyecto de UnityConfiguring the Unity project
  6. Crear y configurar la escena y asignarle un nombre adecuado; por ejemplo, AzureSpeechServicesCreating and configuring the scene and give the scene a suitable name, for example, AzureSpeechServices

A continuación, siga las instrucciones del artículo Modificación de la opción de visualización del reconocimiento espacial para cambiar el perfil de configuración de MRTK de la escena a DefaultHoloLens2ConfigurationProfile y las opciones de presentación de la malla de reconocimiento espacial a Occlusion (Oclusión).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.

Configurar el comportamiento inicial de los comandos de vozConfiguring the speech commands start behavior

Dado que usarás el SDK de voz para el reconocimiento de voz y la transcripción, debes configurar los comandos de voz de MRTK para que no interfieran con la funcionalidad del SDK de voz.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. Para ello, puedes cambiar el comportamiento inicial de los comandos de voz de Auto Start (Inicio automático) a Manual Start (Inicio manual).To achieve this you can change the speech commands start behavior from Auto Start to Manual Start.

Con el objeto MixedRealityToolkit seleccionado en la ventana Hierarchy (Jerarquía), en la ventana Inspector, selecciona la pestaña Input (Entrada), clona DefaultHoloLens2InputSystemProfile y DefaultMixedRealitySpeechCommandsProfile y, a continuación, cambia el valor de Start Behavior (Comportamiento inicial) de los comandos de voz a Manual Start (Inicio manual):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

Sugerencia

Para obtener un recordatorio sobre cómo clonar y configurar perfiles de MRTK, puede consultar las instrucciones del artículo Configuración de los perfiles de 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.

Configuración de las funcionalidadesConfiguring the capabilities

En el menú de Unity, selecciona Edit > Project Settings... (Editar > Configuración del proyecto...) para abrir la ventana Player Settings (Configuración del jugador). A continuación, busca la sección Player > Publishing Settings (Jugador > Configuración de publicación):In the Unity menu, select Edit > Project Settings... to open the Player Settings window, then locate the Player > Publishing Settings section:

mrlearning-speech

En Publishing Settings (Configuración de publicación), desplázate hasta la sección Capabilities (Funcionalidades) y comprueba que las funcionalidades InternetClient, Microphone y SpatialPerception que habilitaste al crear el proyecto al principio del tutorial estén habilitadas.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. A continuación, habilita las funcionalidades InternetClientServer y PrivateNetworkClientServer:Then, enable the InternetClientServer and PrivateNetworkClientServer capabilities:

mrlearning-speech

Importación de los recursos del tutorialImporting the tutorial assets

Descarga e importa los siguientes paquetes personalizados de Unity en el orden en que aparecen:Download and import the following Unity custom packages in the order they are listed:

Sugerencia

Para obtener un recordatorio sobre cómo importar un paquete personalizado de Unity, consulte las instrucciones del artículo Importación de 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.

Después de importar los recursos del tutorial, la ventana Project (Proyecto) debería tener un aspecto similar al siguiente:After you have imported the tutorial assets your Project window should look similar to this:

mrlearning-speech

Preparación de la escenaPreparing the scene

En esta sección, prepararás la escena agregando el objeto prefabricado del tutorial y configurarás el componente Lunarcom Controller (Script) (Controlador de Lunarcom [script]) para controlar la escena.In this section, you will prepare the scene by adding the tutorial prefab and configure the Lunarcom Controller (Script) component to control your scene.

En la ventana Project (Proyecto), desplázate hasta Assets (Recursos) > MRTK.Tutorials.AzureSpeechServices > carpeta Prefabs y arrastra y coloca el objeto prefabricado Lunarcom en la ventana Hierarchy (Jerarquía) para agregarlo a la escena: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 el objeto Lunarcom todavía seleccionado en la ventana Hierarchy (Jerarquía), en la ventana Inspector, usa el botón Add Component (Agregar componente) para agregar el componente Lunarcom Controller (Script) (Controlador de Lunarcom [script]) al objeto 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

El componente Lunarcom Controller (Script) (Controlador de Lunarcom [script]) no forma parte de MRTK.The Lunarcom Controller (Script) component is not part of MRTK. Se proporcionó con los recursos de este tutorial.It was provided with this tutorial's assets.

Con el objeto Lunarcom todavía seleccionado, expándelo para mostrar sus objetos secundarios y, a continuación, arrastra el objeto Terminal al campo Terminal del componente Lunarcom Controller (Script) (Controlador de 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 el objeto Lunarcom todavía seleccionado, expande el objeto Terminal para mostrar sus objetos secundarios y, a continuación, arrastra el objeto ConnectionLight al campo Connection Light del componente Lunarcom Controller (Script) (Controlador de Lunarcom [script]) y el objeto OutputText al campo Output Text (Texto de salida):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 el objeto Lunarcom todavía seleccionado, expande el objeto Buttons para mostrar sus objetos secundarios y, a continuación, en la ventana Inspector, expande la lista Buttons (Botones), establece su valor de Size (Tamaño) en 3 y arrastra los objetos MicButton, SatelliteButton y RocketButton a los campos de Element (Elemento) 0, 1 y 2, respectivamente: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

Conexión del proyecto de Unity con el recurso de AzureConnecting the Unity project to the Azure resource

Para usar los servicios de voz de Azure, debes crear un recurso de Azure y obtener una clave de API para el servicio de voz.To use Azure Speech Services, you need to create an Azure resource and obtain an API key for the Speech Service. Sigue las instrucciones de Prueba gratuita del servicio Voz y toma nota de la región de servicio (también conocida como ubicación) y la clave de API (también conocida como 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).

En la ventana Hierarchy (Jerarquía), selecciona el objeto Lunarcom y, a continuación, en la ventana Inspector, busca la sección Speech SDK Credentials (Credenciales del SDK de voz) de Lunarcom Controller (Script) (Controlador de Lunarcom [script]) y configúrala como se indica a continuación: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:

  • En el campo Speech Service API Key (Clave de API del servicio Voz), escribe la clave de API (Key1 o Key2)In the Speech Service API Key field, enter your API key (Key1 or Key2)
  • En el campo Speech Service Region (Región del servicio Voz), escribe tu región de servicio (ubicación) con letras minúsculas y sin espacios.In the Speech Service Region field, enter your service region (Location) using lowercase letters and spaces removed

mrlearning-speech

Uso del reconocimiento de voz para transcribir la vozUsing speech recognition to transcribe speech

En la ventaja Hierarchy (Jerarquía), selecciona el objeto Lunarcom y, a continuación, en la ventana Inspector, usa el botón Add Component (Agregar componente) para agregar el componente Lunarcom Speech Recognizer (Script) (Reconocimiento de voz de Lunarcom [script]):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

El componente Lunarcom Speech Recognizer (Script) (Reconocimiento de voz de Lunarcom [script]) no forma parte de MRTK.The Lunarcom Speech Recognizer (Script) component is not part of MRTK. Se proporcionó con los recursos de este tutorial.It was provided with this tutorial's assets.

Si ahora entras en el modo de juego, puedes probar el reconocimiento de voz presionando primero el botón del micrófono:If you now enter Game mode, you can test the speech recognition by first pressing the microphone button:

mrlearning-speech

A continuación, suponiendo que el equipo tiene un micrófono, cuando digas algo, la voz se transcribirá en el panel del terminal:Then, assuming your computer has a microphone, when you say something, your speech will be transcribed on the terminal panel:

mrlearning-speech

Precaución

La aplicación necesita conectarse a Azure, por lo que debes asegurarte de que el equipo o dispositivo está conectado a Internet.The application needs to connect to Azure, so make sure your computer/device is connected to the internet.

EnhorabuenaCongratulations

Has implementado el reconocimiento de voz con tecnología de Azure.You have implemented speech recognition powered by Azure. Ejecuta la aplicación en el dispositivo para asegurarte de que la característica funciona correctamente.Run the application on your device to ensure the feature is working properly.

En el próximo tutorial, obtendrás información sobre cómo ejecutar comandos con el reconocimiento de voz de Azure.In the next tutorial, you will learn how to execute commands using Azure speech recognition.