はじめに
今回はPower Apps で取得した音声をテキストに文字おこしする方法について紹介したいと思います。
~完成イメージ~
英語Ver
できたーーー!#PowerApps で音声をテキストに変換するやつ!(私の発音が悪いのかちゃんと認識してくれてないですが(´・ω・`))
— コルネ (@koruneko32767) June 8, 2020
~使用しているサービス~#PowerApps#PowerAutomate
Azure Functions
Azure Speech to Text pic.twitter.com/24X8TgsVJV
日本語Ver
日本語ver pic.twitter.com/o7BSgf4mbM
— コルネ (@koruneko32767) June 15, 2020
このようなアプリの作成方法今回はご紹介したいと思います!
予め注意書きをしておくと今回紹介する方法では、コードを記載する箇所がでてきます。(70行ほど)
なのでノーコードで実現!というわけにはいかないです。。。
ただ、手順通りに、また、コピペすれば実現できるよう紹介したいと思うのでよかったら参考にしてください。
使用するサービス
音声をテキストに文字おこしする技術には、Speech to Textを利用します。
今回はデモのため「Free - Web/コンテナー 1 個の同時要求」を利用します。
詳しい価格に関してはこちらをご参照ください。Cognitive Services の価格—Speech Services
また、こちらの「Speech to Text」ですが、現在時点(2020/06/16)ではコネクタが存在していません。
なので「Premium コネクター」である「HTTP」アクションを利用します。
試される際は上記が利用可能なアカウントを用意してください。
Power Apps でのアプリ作成
まずは、Power Apps でアプリを作成していきましょう。
今回Power Apps で実現する機能は以下です。
- 音声の取得
- 取得した音声のデータをPower Automate に渡す
- Speech to Text で文字おこしされたテキストを画面に表示する
これら3つだけです。
音声を取得する
Power Apps でデバイスのマイクの音を取得するには、マイク コントロールを利用します。
「メディア」より「マイク」を選択します。
録音された音声を変数にセットします。
マイクの「OnStop」に以下のような式を設定します。
Microphone.OnStop
ClearCollect( Audiocol, Microphone.Audio ); UpdateContext( { _jsonText: JSON( Audiocol, JSONFormat.IncludeBinaryData ) } )
それでは音声を録音してみましょう!
マイクコントロールを選択すると録音が開始され、もう一度選択すると録音が終了します。
録音された結果の「_jsonText」をみてみましょう。
「ビュー」>「変数」より確認が可能です。
このように、Power Apps で録音された結果は「webm」形式で作成されます。* ここ重要
音声データをPower Automate に渡す
先ほど作成した「Audiocol」をPower Automate に渡しましょう。
「ボタン コントロール」を追加し、「OnSelect」に以下のように設定します。
Button1.OnSelect
UpdateContext({_output:音声をテキストに変換.Run(JSON(First(Audiocol), JSONFormat.IncludeBinaryData))})
「音声をテキストに変換」としている箇所はPower Automate で作成したフローの名前です。(フローは後程説明します。)
「_output」にはフローの実行結果が設定されます。(「PowerApp または Flow に応答する」を設置していない場合はフローの実行成否、True or False が設定されます。)
Speech to Text の結果を表示する
Speech to Text の結果(Power Automate の結果)を表示するためのラベルを配置しましょう!
ラベルに表示するテキストには以下を設定します。
Label1.Text
_output.result
「result」の部分にはPower Automate の「PowerApp または Flow に応答する」の「タイトル」に設定した変数名を記載します。
おわり
以上がPower Apps の設定です!
Power Automate の作成がまだのため設定できない箇所が多々ありますが...
説明の難易度のためPower Apps の説明からさせていただきました。
次回は、Azure Functions 及びSpeech to Textに作成方法についてご紹介したいと思います。