この記事では、Azure Percept Audioでカスタマイズしたキーワード・コマンドを使用する方法を紹介します。カスタムコマンドを作成することで、任意の指示を与え認識されることができるようになります。
※先にAzure Percept Audioで音声アシスタント作成の記事を読んでいただくと、より理解しやすい内容になっています。
使用リソース
- Azure Percept DK
- Azure Percept Audio
- Azure IoT Hub
- Azure Speech Services
- Language Understanding(LUIS)
概要
今回は以下のようなカスタムキーワード、カスタムコマンドを作成します。
カスタムキーワード:Custom カスタムコマンド:This is a custom command.
カスタムキーワードの作成
まずは、①のカスタムキーワード"Custom"を作成します。
カスタムキーワードの作成は、Azure Percept StudioまたはSpeech Studioから行うことが可能です。
キーワードに設定したいワードを入力し、利用している音声リソースと言語を選択します。言語は現在英語のみ選択可能です。入力後、作成を選択するとトレーニングを開始します。
トレーニングが完了すると状態が、Succeededになり"割り当て"が可能になります。トレーニング完了まで、最大30分ほどかかることがあるみたいです(私が試した時は、1時間以上かかりました)。
カスタムコマンドの作成
次に③の"This is a custom command."をコマンドとして認識し、そのアクションとして④の"Yes, it is customized command you created."と返答するカスタムコマンドを作成します。
カスタムコマンドの作成もAzure Percept Studio、Speech Studioから行うことができます。Azure Percept Studioからカスタムコマンドの作成を行った場合も、トレーニングを完了するにはSpeech Studioで操作を行う必要があります。
音声アシスタントのテンプレートを試したことがある場合は、すでにプロジェクトが存在しています。新たなカスタムコマンドのプロジェクトを作成するときは、"追加"を選択し必要な情報を入力・選択します。
カスタムコマンドのプロジェクトを作成すると、一覧に表示されます。作成したプロジェクトをクリックすると、Speech Studioが開かれカスタムコマンドの開発を進めることができます。
Speech Studioが開かれると、選択したカスタムコマンドプロジェクトの開発画面が開かれます。初めてプロジェクトを開いた場合、左のCommandsには"FallbackCommand"のみ表示されます。
左上の"+ Command"をクリックし、名前を入力することで新たなコマンドを追加します。今回はcustomという名前で追加しました。
作成したコマンドを選択します。"Example sentences"からコマンドの編集、"Done"からコマンドへの対応を修正することが可能です。Example sentencesに This is a custom command. と入力します。
"Done"をクリックすると以下の編集が可能です。
- Name → Doneをほかの名称へ変更
- Conditions → アクションを行う条件
- Actions → どのようなアクションを行うか
Actionsの"+ Add an action"を選択し、アクションの追加を行います。アクションは2種類用意されています。
- Send speech response → 特定の返答を行う
- Send activity to client → クライアントアプリケーションへアクティビティペイロードを送る
Send speech resposeを選択し、返答内容の変更を行います。
Speech responseのエディターが開かれるので、右上のtypeから"Simple response"を選択し、任意の返答を追加しSaveをクリックします。
コマンド内容の編集が完了したら、Trainをクリックします。トレーニングが完了するとコマンドのテストが可能になります。
テスト画面では、先ほどExample sentencesに追加したコマンドを入力し、設定した返答が返されるかを確かめます。正常に動くことが確認できたら、publishを行いAzure Perceptでプロジェクトの割り当てを可能にします。
左のSettingsからLUIS recourcesの設定を行います。Prediction resourceを設定することで、アプリケーションの実行時に入力を認識するようになります。
カスタムキーワード/カスタムコマンド割り当て
カスタムキーワード・カスタムコマンドの割り当てはAzure Percept Studioから行います。キーワード・コマンドの割り当て方法は、同じ流れで行うことができます。
左のAIプロジェクトから"音声"を選択し、作成したカスタムキーワード(コマンド)プロジェクトを選択した状態で"割り当て"をクリックします。IoTハブ、デバイスを選択し保存をクリックすることで、カスタムキーワード(コマンド)がAzure Perceptで認識可能になります。
割り当てられているプロジェクトは、デバイスから登録したAzure Perceptの名前を選択し、音声のセクションから確認することができます。
デモ動画
実際にAzure Percept Audioがカスタムコマンドを認識するか試してみました。