夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

HoloLens×Azure  音声認識と文字起こし その1 導入 シーン構成

docs.microsoft.com

〇準備

・MRTKが導入されているUnityプロジェクトを用意します。

①新規シーンを作成し[AzureSpeechServices]という名前を付けます。

f:id:Holomoto-Sumire:20200918135412j:plain

②上部[MixedRealityToolkit]タグから[Add to scene and configure...]でシーンに[MixedRealityToolkit]オブジェクトと[MixedRealityPlaySpace]オブジェクトを追加します。

f:id:Holomoto-Sumire:20200918135515j:plain

③[MixedRealityToolkit]オブジェクトのInspectorウィンドウからConfigureを[DefaultHoloLens2ConfigurationProfile]へ切り替えます。

f:id:Holomoto-Sumire:20200918135935j:plain

〇音声コマンドの開始動作の構成

音声認識と文字起こしを行うために[Speech SDK] を使うため[Speech SDK]の機能が使用できるように構成を変更する必要があります。

MixedRealityToolkitのProfilerから[Input]、[Speech]タグを開き[Start Behavior]を[AutoStart]から[ManualStart]に変更します。

〇機能の構成

①Unityの上部タグ[Edit]から[BuildSettings]を開きます。この時ターゲットプラットフォームがUWP以外になっていた場合UWPへ[SwitchPlatform]を行います。

f:id:Holomoto-Sumire:20200918141757j:plain

②[PlayerSettings]を開きます。[Publishing Settings]の[Capabilities]で[InternetClient][Microphone][SpatialPerception]がチェックが付いて有効になっていることを確認します。

f:id:Holomoto-Sumire:20200918142234j:plain

[Capabilities]では使用できる機能を指定することができここではインターネットクライアント(インターネットへの接続)、マイクロフォン、空間認識をそれぞれ使用することを設定します。

③[Capabilities]で[InternetClientServer]と[PrivateNetworkClientServer]にチェックを入れます。

f:id:Holomoto-Sumire:20200918143053j:plain

[InternetClient]は公共のインターネット出力へのアクセスを許可するもので[InternetClientServer]は入出力どちらも許可する設定になります。

[PrivateNetworkClientServer]は自宅や職場などのネットワークでの入出力のアクセスを許可する設定になります。

〇サンプルプロジェクトのダウンロード

f:id:Holomoto-Sumire:20200925083444j:plain

今回参考にしているMicrosoftのドキュメントから画像の3つのアセットをダウンロード、プロジェクトへインポートします。

docs.microsoft.com

ダウンロードするものは以下の3つです。

Microsoft.CognitiveServices.Speech.N.N.N.unitypackage

・MRTK.HoloLens2.Unity.Tutorials.Assets.GettingStarted.2.3.0.3.unitypackage

・MRTK.HoloLens2.Unity.Tutorials.Assets.AzureSpeechServices.2.3.0.0.unitypackage

インポートできるとプロジェクトウィンドウは画像のようになります。

f:id:Holomoto-Sumire:20200920182005j:plain

〇シーンの作成と準備

①[Project]ウィンドウで、 [Assets] / [MRTK.Tutorials.AzureSpeechServices] /[Prefabs]フォルダーに移動し、[Lunarcom] プレハブをシーンに追加します。

f:id:Holomoto-Sumire:20200925084154j:plain

②[Hierarchy]ウィンドウで[Lunarcom]オブジェクトを選択した状態で、[Inspector]ウィンドウで から[Add Component]ボタンを使用して、[Lunarcom Controller]コンポーネントを追加します。

f:id:Holomoto-Sumire:20200925084425j:plain

③[Lunarcom] オブジェクトの子オブジェクトを表示し[Terminal]オブジェクトを[Lunarcom Controller]コンポーネントの [Terminal]にドラッグします

f:id:Holomoto-Sumire:20200925084725j:plain

④[Terminal] の子オブジェクト[ConnectionLight] オブジェクトを[Lunarcom Controller]コンポーネントの [Connection Light]にアタッチします。

f:id:Holomoto-Sumire:20200925085142j:plain

⑤[OutputText]オブジェクトを [Output Text]にドラッグします。

f:id:Holomoto-Sumire:20200925085316j:plain

⑥Buttons オブジェクトの子オブジェクトを[Lunarcom] の[Inspector]ウィンドウで [Buttons]リストを展開し、 Size を[3]に設定し、[MicButton]、[SatelliteButton]、[RocketButton]の各オブジェクトをドラッグします。

f:id:Holomoto-Sumire:20200925085705j:plain

以上でシーンの構成が完了しました

〇参考

docs.microsoft.com