演習 - 音声認識と文字起こしを統合して使用する
このモジュールでは、HoloLens 2 で Azure 音声サービスの使用を調べる Mixed Reality アプリケーションを作成します。 このシリーズを完了すると、デバイスのマイクを使ってリアルタイムで音声をテキストに文字起こしし、音声を他の言語に翻訳し、意図認識機能を使って人工知能で音声コマンドを理解することができるようになります。
Unity プロジェクトを作成して準備する
このセクションでは、新しい Unity プロジェクトを作成し、MRTK 開発用に準備します。
前提条件として、次の手順を完了してプロジェクトとアプリケーションを初期化してください。
- Unity プロジェクトを作成し、"MRTK チュートリアル" などの適切な名前を付ける
- ビルド プラットフォームを切り替える
- TextMeshPro の重要なリソースをインポートする
- Mixed Reality Toolkit をインポートする
- Unity プロジェクトを構成する
- シーンを作成して構成し、それに適切な名前を付けます。例: AzureSpeechServices
Note
Mixed Reality プロジェクトを設定する方法については、「Mixed Reality Toolkit の概要」モジュールで確認できます。
機能を構成する
Unity メニューで [Edit]\(編集\)>[Project Settings]\(プロジェクトの設定\) を選択して、[Player Settings]\(プレーヤーの設定\) ウィンドウを開きます。次に、 [Player]\(プレーヤー\)>[Publishing Settings]\(発行の設定\) セクションを見つけます。
[発行の設定] で、下にスクロールして [機能] セクションを表示し、InternetClient、Microphone、SpatialPerception の機能 (チュートリアルの冒頭でプロジェクトを作成するときに有効にした) が引き続き有効になっているか再確認します。 次に、InternetClientServer と PrivateNetworkClientServer の機能を有効にします。
チュートリアルのアセットをインポートする
次の Unity カスタム パッケージを、"リストされている順序で" ダウンロードして "インポート" します。
チュートリアル資産をインポートすると、[Project] ウィンドウは次のようになります。
シーンを準備する
このセクションでは、チュートリアル プレハブを追加してシーンを準備し、そのシーンを制御できるように Lunarcom Controller (Script) コンポーネントを構成します。
[Project] ウィンドウで [Assets] > [MRTK.Tutorials.AzureSpeechServices] > [Prefabs] フォルダーの順に移動し、[Hierarchy] ウィンドウに [Lunarcom] プレハブをドラッグしてシーンに追加します。
[Hierarchy] ウィンドウで [Lunarcom] オブジェクトを選択したまま、[Inspector] ウィンドウで [Add Component] ボタンを使用して、[Lunarcom Controller (Script)] コンポーネントを [Lunarcom] オブジェクトに追加します。
[Lunarcom] オブジェクトを選択したままで、それを展開して子オブジェクトを表示してから、[Terminal] オブジェクトを、[Lunarcom Controller (Script)] コンポーネントの [Terminal] フィールドにドラッグします。
[Lunarcom] オブジェクトを選択したままで、[Terminal] オブジェクトを展開してその子オブジェクトを表示してから、[ConnectionLight] オブジェクトを、[Lunarcom Controller (Script)] コンポーネントの [Connection Light] フィールドに、[OutputText] オブジェクトを [Output Text] フィールドにドラッグします。
[Lunarcom] オブジェクトを選択したままで、[Buttons] オブジェクトを展開してその子オブジェクトを表示してから、[Inspector] ウィンドウで [Buttons] リストを展開し、[Buttons] フィールドを [3] に設定し、[MicButton]、[SatelliteButton]、[RocketButton] の各オブジェクトをそれぞれ、[Element] の [0]、[1]、[2] フィールドにドラッグします。
Unity プロジェクトを Azure リソースに接続する
Azure Speech Services を使用するには、Azure リソースを作成し、Speech Service 用の API キーを取得する必要があります。 クイックスタートの手順に従って、ご利用のサービス リージョン ("場所" とも呼ばれる) と API キー (Key1 または Key2 とも呼ばれる) をメモします。
[Hierarchy](階層) ウィンドウで Lunarcom オブジェクトを選択し、次に [Inspector](インスペクター) ウィンドウで Lunarcom Controller (Script) コンポーネントの [Speech SDK Credentials](Speech SDK 資格情報) セクションを見つけ、次のように構成します。
- [Speech Service API Key] フィールドに、API キー (Key1 または Key2) を入力します。
- [Speech Service Region] フィールドに小文字を使用し、スペースは削除して、ご利用のサービス リージョン (場所) を入力します。
音声認識を使用して音声を文字起こしする
[Hierarchy] ウィンドウで [Lunarcom] オブジェクトを選択してから、[Inspector] ウィンドウで [Add Component] ボタンを使用して、[Lunarcom Speech Recognizer (Script)] コンポーネントを [Lunarcom] オブジェクトに追加します。
ここで、ゲーム モードに入り、[Play] ボタンを選択すると、マイクのボタンを最初に押すことで音声認識をテストできます。
次に、お使いのコンピューターにマイクがあると仮定して、何か話すと、音声がターミナルのパネル上に文字で表示されます。
注意事項
アプリケーションは Azure に接続する必要があるため、お使いのコンピューター/デバイスがインターネットに接続されていることを確認してください。