1. 음성 인식 및 전사 통합 및 사용1. Integrating and using speech recognition and transcription

이 자습서 시리즈에서는 HoloLens 2에서 Azure Speech Services의 사용을 검색하는 Mixed Reality 애플리케이션을 만듭니다.In this tutorial series, you will create a Mixed Reality application that explores the use of Azure Speech Services with the HoloLens 2. 이 자습서 시리즈를 완료하면 디바이스의 마이크를 사용하여 음성을 텍스트로 실시간으로 전사하고, 음성을 다른 언어로 번역하고, 의도 인식 기능을 활용하여 AI를 통해 음성 명령을 이해할 수 있습니다.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.

목표Objectives

  • Azure Speech Services를 HoloLens 2 애플리케이션과 통합하는 방법 알아보기Learn how to integrate Azure Speech Services with a HoloLens 2 application
  • 음성 인식을 사용하여 텍스트를 전사하는 방법 알아보기Learn how to use speech recognition to transcribe text

필수 구성 요소Prerequisites

시작 자습서 시리즈를 아직 완료하지 않은 경우 먼저 해당 자습서를 완료하는 것이 좋습니다.If you have not completed the Getting started tutorials series yet, it's recommended that you complete those tutorials first.

  • 올바른 도구가 설치된 상태로 구성된 Windows 10 PCA Windows 10 PC configured with the correct tools installed
  • Windows 10 SDK 10.0.18362.0 이상Windows 10 SDK 10.0.18362.0 or later
  • 몇 가지 기본 C# 프로그래밍 기능Some basic C# programming ability
  • 개발용으로 구성된 HoloLens 2 디바이스A HoloLens 2 device configured for development
  • Unity 2019 LTS가 설치되고 유니버설 Windows 플랫폼 빌드 지원 모듈이 추가된 Unity HubUnity Hub with Unity 2019 LTS installed and the Universal Windows Platform Build Support module added

중요

이 자습서 시리즈에 추천되는 Unity 버전은 Unity 2019 LTS입니다.The recommended Unity version for this tutorial series is Unity 2019 LTS. 이 버전은 필수 구성 요소에서 설명한 모든 Unity 버전 요구 사항 또는 추천 사항을 대체합니다.This supersedes any Unity version requirements or recommendations stated in the prerequisites linked above.

Unity 프로젝트 만들기 및 준비Creating and preparing the Unity project

이 섹션에서는 새 Unity 프로젝트를 만들고 MRTK 개발을 준비합니다.In this section, you will create a new Unity project and get it ready for MRTK development.

이를 위해 먼저 프로젝트 및 첫 번째 애플리케이션 초기화를 수행합니다. 단, 디바이스에 애플리케이션 빌드 지침은 제외합니다. 단계는 다음과 같습니다.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. Unity 프로젝트 만들기 및 적절한 이름(예: MRTK Tutorials) 지정Creating the Unity project and give it a suitable name, for example, MRTK Tutorials
  2. 빌드 플랫폼 전환Switching the build platform
  3. TextMeshPro 필수 리소스 가져오기Importing the TextMeshPro Essential Resources
  4. Mixed Reality Toolkit 가져오기Importing the Mixed Reality Toolkit
  5. Unity 프로젝트 구성Configuring the Unity project
  6. 장면 만들기 및 구성 및 장면에 적절한 이름(예: AzureSpeechServices) 지정Creating and configuring the scene and give the scene a suitable name, for example, AzureSpeechServices

그런 다음, 공간 인식 표시 옵션 변경 지침에 따라 장면의 MRTK 구성 프로필을 DefaultHoloLens2ConfigurationProfile 로 변경하고, 공간 인식 메시의 표시 옵션을 폐색 으로 변경합니다.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.

음성 명령 시작 동작 구성Configuring the speech commands start behavior

음성 인식 및 전사에 음성 SDK를 사용하므로 음성 SDK 기능을 방해하지 않도록 MRTK 음성 명령을 구성해야 합니다.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. 이를 위해 음성 명령 시작 동작을 [자동 시작]에서 [수동 시작]으로 변경할 수 있습니다.To achieve this you can change the speech commands start behavior from Auto Start to Manual Start.

[계층 구조] 창에서 MixedRealityToolkit 개체를 선택한 채 [검사기] 창에서 입력 탭을 선택하고, DefaultHoloLens2InputSystemProfileDefaultMixedRealitySpeechCommandsProfile 을 복제한 다음, 음성 명령 시작 동작수동 시작 으로 변경합니다.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

MRTK 프로필을 복제하고 구성하는 방법에 대한 자세한 내용은 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.

기능 구성Configuring the capabilities

Unity 메뉴에서 편집 > 프로젝트 설정... 을 차례로 선택하여 [플레이어 설정] 창을 연 다음, 플레이어 > 게시 설정 섹션을 차례로 찾습니다.In the Unity menu, select Edit > Project Settings... to open the Player Settings window, then locate the Player > Publishing Settings section:

mrlearning-speech

게시 설정 에서 기능 섹션까지 아래로 스크롤하여 자습서의 시작 부분에서 프로젝트를 만들 때 사용하도록 설정한 InternetClient, MicrophoneSpatialPerception 기능이 사용하도록 설정되어 있는지 다시 확인합니다.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. 그런 다음, InternetClientServerPrivateNetworkClientServer 기능을 사용하도록 설정합니다.Then, enable the InternetClientServer and PrivateNetworkClientServer capabilities:

mrlearning-speech

자습서 자산 가져오기Importing the tutorial assets

다음 Unity 사용자 지정 패키지를 나열된 순서대로 다운로드하여 가져옵니다.Download and import the following Unity custom packages in the order they are listed:

Unity 사용자 지정 패키지를 가져오는 방법을 미리 알아보려면 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.

자습서 자산을 가져오면 [프로젝트] 창이 다음과 같이 표시됩니다.After you have imported the tutorial assets your Project window should look similar to this:

mrlearning-speech

장면 준비Preparing the scene

이 섹션에서는 자습서 프리팹을 추가하여 장면을 준비하고, 장면을 제어하는 Lunarcom 컨트롤러(스크립트) 구성 요소를 구성합니다.In this section, you will prepare the scene by adding the tutorial prefab and configure the Lunarcom Controller (Script) component to control your scene.

[프로젝트] 창에서 Assets > MRTK.Tutorials.AzureSpeechServices > Prefabs 폴더로 차례로 이동하고, Lunarcom 프리팹을 [계층 구조] 창으로 끌어 장면에 추가합니다.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

[계층 구조] 창에서 Lunarcom 개체를 선택한 채로 [검사기] 창에서 구성 요소 추가 단추를 사용하여 Lunarcom 컨트롤러(스크립트) 구성 요소를 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

참고

Lunarcom 컨트롤러(스크립트) 구성 요소는 MRTK의 일부가 아닙니다.The Lunarcom Controller (Script) component is not part of MRTK. 이 자습서의 자산과 함께 제공되었습니다.It was provided with this tutorial's assets.

Lunarcom 개체를 선택한 상태에서 이 개체를 펼쳐 자식 개체를 표시한 다음, Terminal 개체를 Lunarcom 컨트롤러(스크립트) 구성 요소의 터미널 필드로 끕니다.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

Lunarcom 개체를 선택한 상태에서 Terminal 개체를 펼쳐 자식 개체를 표시한 다음, ConnectionLight 개체 및 OutputText 개체를 각각 Lunarcom 컨트롤러(스크립트) 구성 요소의 연결 조명 필드 및 출력 텍스트 필드로 끕니다.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

Lunarcom 개체를 선택한 상태에서 Buttons 개체를 펼쳐 자식 개체를 표시한 다음, [검사기] 창에서 단추 목록을 펼치고, 크기 를 3으로 설정하고, MicButton, SatelliteButtonRocketButton 필드를 각각 요소 0, 1 및 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

Unity 프로젝트를 Azure 리소스에 연결Connecting the Unity project to the Azure resource

Azure Speech Services를 사용하려면 Azure 리소스를 만들고, Speech Service에 대한 API 키를 얻어야 합니다.To use Azure Speech Services, you need to create an Azure resource and obtain an API key for the Speech Service. Speech Service 체험해 보기 지침을 수행하고, 서비스 지역(위치라고도 함) 및 API 키(Key1 또는 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).

[계층 구조] 창에서 Lunarcom 개체를 선택한 다음, [검사기] 창에서 Lunarcom 컨트롤러(스크립트) 구성 요소의 Speech SDK 자격 증명 섹션을 찾아서 다음과 같이 구성합니다.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:

  • Speech Service API 키 필드에서 API 키(Key1 또는 Key2)를 입력합니다.In the Speech Service API Key field, enter your API key (Key1 or Key2)
  • Speech Service 지역 필드에서 공백 없이 소문자를 사용하여 서비스 지역(위치)을 입력합니다.In the Speech Service Region field, enter your service region (Location) using lowercase letters and spaces removed

mrlearning-speech

음성 인식을 사용하여 음성 전사Using speech recognition to transcribe speech

[계층 구조] 창에서 Lunarcom 개체를 선택한 다음, [검사기] 창에서 구성 요소 추가 단추를 사용하여 Lunarcom 음성 인식기(스크립트) 구성 요소를 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

참고

Lunarcom 음성 인식기(스크립트) 구성 요소는 MRTK의 일부가 아닙니다.The Lunarcom Speech Recognizer (Script) component is not part of MRTK. 이 자습서의 자산과 함께 제공되었습니다.It was provided with this tutorial's assets.

이제 게임 모드로 들어가면 먼저 마이크 단추를 눌러 음성 인식을 테스트할 수 있습니다.If you now enter Game mode, you can test the speech recognition by first pressing the microphone button:

mrlearning-speech

그런 다음, 마이크가 컴퓨터에 있다고 가정하여 사용자가 무언가를 말하면 음성이 터미널 패널에 전사됩니다.Then, assuming your computer has a microphone, when you say something, your speech will be transcribed on the terminal panel:

mrlearning-speech

주의

애플리케이션에서 Azure에 연결해야 하므로 컴퓨터/디바이스가 인터넷에 연결되어 있는지 확인합니다.The application needs to connect to Azure, so make sure your computer/device is connected to the internet.

축하합니다.Congratulations

Azure에서 구동하는 음성 인식을 구현했습니다.You have implemented speech recognition powered by Azure. 디바이스에서 애플리케이션을 실행하여 기능이 제대로 작동하는지 확인합니다.Run the application on your device to ensure the feature is working properly.

다음 자습서에서는 Azure 음성 인식을 사용하여 명령을 실행하는 방법에 대해 알아봅니다.In the next tutorial, you will learn how to execute commands using Azure speech recognition.