Logic AppsからAzure Speech ServiceのText To Speechを利用する手順

AI Services,Azure,Logic Apps,Speech Service

Logic AppsからAzure Speech ServiceのText To Speech(テキスト読み上げ)を利用する方法です。
Azure Text to SpeechコネクタのConvert text to speechアクションを利用して、テキストから音声を生成する手順を紹介しています。
Convert text to speechの出力結果を音声ファイル化して保存する手順についても確認しています。

Azure Speech Serviceは、Azure上で提供される音声認識や音声合成など、音声に関連するサービスです。
Logic AppsからAzure Speech Serviceを利用するためのコネクタが用意されています。
音声をテキストに変換するAzure Batch Speech-to-text、テキストを音声に変換するAzure Text to Speechコネクタが用意されています。

これらのコネクタを利用することで、Logic Appsワークフロー内で、音声データの作成や、音声からテキストデータを作成することができます。

※本記事内では、アクション名などを除きAzure Speech ServiceのText To Speechをテキスト読み上げと表記しています。
※本記事内では、Azure Logic Apps(ロジックアプリ)をLogic Appsと表記しています。
※手順の確認には、従量課金(マルチテナント)のLogic Apps環境を使用しています。

スポンサーリンク

Logic AppsからAzure Speech Serviceのテキスト読み上げを利用する方法

Azure Speech Serviceに関連するLogic Appsコネクタ

Logic Appsには、Azure Speech Serviceを利用するためのコネクタが用意されています。

Azure Text to speech
Azure Batch Speech-to-text
Azure Speech Pronunciation Assessment

Azure Text to speechコネクタを利用して、テキストを音声化することができます。
Azure Batch Speech-to-textコネクタを利用して、音声をテキスト化することができます。
Azure Speech Pronunciation Assessmentコネクタを利用して、音声の発音を評価することができます。

Azure Speech Serviceに関連するコネクタ
Azure Text to speechのコネクタです。
テキストから音声を生成するアクションなどが用意されています。
Azure Text To Speechのアクション一覧(Logic AppsでAzure Speech ServiceのText To Speechを使う方法)
Azure Batch Speech-to-textのコネクタです。
音声からテキストを生成するアクションなどが用意されています。
Azure Batch Speech to textのアクション一覧(Logic AppsでAzure Speech ServiceのText To Speechを使う方法)
Azure Speech Pronunciation Assessmentのコネクタです。
発音を評価するアクションが用意されています。
Azure Speech Pronunciation Assessmentのアクション一覧(Logic AppsでAzure Speech ServiceのText To Speechを使う方法)

※画面例は、従量課金(マルチテナント)の場合です。

Logic Appsのリソース作成手順

Logic Appsのリソース作成手順については、こちらで紹介しています。
今回は、マルチテナント(従量課金)のプランを利用しています。

Azure Speech Serviceのリソース作成手順

Azure Speech Serviceのリソース作成手順については、こちらで紹介しています。

Azure Speech Serviceのキー確認方法

Logic AppsのワークフローからAzure Speech Serviceを利用する場合は、接続の作成が必要になります。
今回は、Api Keyを利用して接続を作成しています。

Api Keyを確認方法
概要のメニュー、キーとエンドポイントのメニューで確認できます。 Azure Speech Serviceのキー値確認方法(Logic AppsでAzure Speech ServiceのText To Speechを使う方法)

Azure Speech Serviceのテキスト読み上げを使ってテキストを音声変換するワークフロー

Azure Text to speechコネクタを利用してワークフローを作成します。
今回は、音声化する文章はRequestトリガーで設定しています。

Convert text to speechのアクションで使用できるパラメーターの詳細は、公式ドキュメントを確認してください。

テキスト読み上げの変換

ワークフローを作成
ロジックアプリデザイナーを表示します。
Requestコネクタにある、When a HTTP request is receivedトリガーを選択します。

RequestコネクタのWhen a HTTP request is receivedトリガーを選択(Logic AppsでAzure Speech ServiceのText To Speechを使う方法)
設定画面が表示されます。
サンプルペイロードを使用してスキーマを生成するを選択します。

サンプルのJSONペイロードを入力します。
完了を選択します。
Request Body JSON Schemaが生成されます。

When a HTTP request is receivedトリガーを設定(Logic AppsでAzure Speech ServiceのText To Speechを使う方法)
サンプルのJSONペイロードを入力(Logic AppsでAzure Speech ServiceのText To Speechを使う方法)
{
    “text": “今日の天気はどうですか?"
}
When a HTTP request is receivedトリガーを設定(Logic AppsでAzure Speech ServiceのText To Speechを使う方法)

Azure Text to speechのコネクタを選択します。
アクションには、Convert text to speechを選択します。

 

Azure Text to speechコネクタでConvert text to speechのアクションを選択(Logic AppsでAzure Speech ServiceのText To Speechを使う方法)

新しい接続の作成画面が表示されます。
Authentication TypeはApi KeyとMicrosoft Entra ID Integratedから選択します。今回はApi Keyを利用します。
Account Keyには、Azure Speech Serviceのキー値を設定します。
Regionには、Azure Speech Serviceのリソースがあるリージョンを設定します。

 

Convert text to speechの接続を作成(Logic AppsでAzure Speech ServiceのText To Speechを使う方法)
でConvert text to speechの接続のAuthentication Type(Logic AppsでAzure Speech ServiceのText To Speechを使う方法)

Convert text to speechの設定が表示されます。
Voice Nameには、テキスト読み上げ音声名を指定します。
Localeには、ロケール名を設定します。
Synthesized Textには、音声化するテキストの内容を設定します。

テキスト読み上げ音声名や、ロケール名の設定は公式サイトを参考に設定します。

音声サービスの言語と音声のサポート

※Speech Studioのお試ししてみるや、サンプルコードを活用して確認することもできます。

Convert text to speechのアクションを設定(Logic AppsでAzure Speech ServiceのText To Speechを使う方法)
Convert text to speechのアクションを設定例(Logic AppsでAzure Speech ServiceのText To Speechを使う方法)
ワークフローを保存します。 ワークフローの例(Logic AppsでAzure Speech ServiceのText To Speechを使う方法)

ワークフローを実行してテキスト音声化の動作を確認

作成したワークフローを実行します。
サンプルのペイロードには、ワークフロー作成時に利用したものを使っています。

ワークフローを実行
Run with payload(ペイロードで実行)を選択します。 ワークフローを実行(Logic AppsでAzure Speech ServiceのText To Speechを使う方法)
本文に音声化したい文字列を設定します。
今回は、サンプルペイロードで設定した内容をそのまま使用します。
実行します。
ワークフロー実行時のペイロード設定(Logic AppsでAzure Speech ServiceのText To Speechを使う方法)
{
    “text": “今日の天気はどうですか?"
}

実行履歴で、ワークフローの実行結果を確認します。
正常終了していることが確認できます。
出力のStatus Codeも200となっています。
音声データはBase64でエンコードされたテキストとして出力されます。

ワークフローの実行結果(Logic AppsでAzure Speech ServiceのText To Speechを使う方法)
Convert text to speechのアクションの入力結果(Logic AppsでAzure Speech ServiceのText To Speechを使う方法)
Convert text to speechのアクションの出力結果(Logic AppsでAzure Speech ServiceのText To Speechを使う方法)

—広告—

Convert text to speechの出力結果を音声ファイル化して保存

ストレージアカウントの操作手順

今回は、音声ファイルをストレージアカウントに保存しています。
Logic Appsのワークフローでストレージアカウントの操作する手順については、こちらで紹介しています。

Logic AppsからストレージアカウントのBLOBコンテナーにファイルを保存する場合には、アクセス設定が必要になります。
マネージドIDを利用する場合は、権限の割り当てが必要になります。
Logic Appsのリソースのシステム割り当てマネージドIDを割り当てています。

ロールの割り当て
ストレージBLOBデータ共同作成者のロールを割り当てています。 Logic Appsのシステム割り当てマネージドIDにストレージアカウントへのアクセス権を割り当て(Logic AppsでAzure Speech ServiceのText To Speechを使う方法)

base64ToBinaryを利用してConvert text to speechの出力テキストを音声ファイルに戻す

Convert text to speechの出力結果は、Base64エンコードされたテキストデータです。
このテキストデータをデコードして、元のバイナリデータに戻す必要があります。

ストレージアカウントにファイルを保存するアクションを、ワークフローに追加します。

base64ToBinaryでテキストから音声ファイルに戻す
Azure Blob Storageのコネクタを選択します。
BLOBコンテナーに保管するためのアクションを追加します。
Azure Blob StorageのコネクタでBLOBを作成するのアクションを選択(Logic AppsでAzure Speech ServiceのText To Speechを使う方法)
ストレージアカウントへの接続を作成します。 Azure Blob Storageコネクタの接続を作成(Logic AppsでAzure Speech ServiceのText To Speechを使う方法)
保存先のストレージアカウントやBLOBコンテナーを指定します。
BLOB名(ファイル名)を設定します。
BLOBコンテンツには、 base64ToBinary関数を指定します。
Convert text to speechの出力結果を、base64ToBinaryを利用してバイナリ形式に戻します。
BLOBを作成するのアクションを設定(Logic AppsでAzure Speech ServiceのText To Speechを使う方法)
BLOBを作成するのアクションを設定(Logic AppsでAzure Speech ServiceのText To Speechを使う方法)

base64ToBinary(body('Convert_text_to_speech’))

ワークフローを保存します。 ワークフローを保存する(Logic AppsでAzure Speech ServiceのText To Speechを使う方法)

ワークフローを実行して生成された音声ファイルを確認

作成したワークフローを実行します。
サンプルのペイロードには、ワークフロー作成時に利用したものを使っています。

ワークフローを実行
実行履歴で、ワークフローの実行結果を確認します。
正常終了していることが確認できます。
ワークフローの実行結果(Logic AppsでAzure Speech ServiceのText To Speechを使う方法)
音声ファイルが生成されていることが確認できます。
ファイルをダウンロードして再生します。
指定したテキスト読み上げ音声によってテキストの内容が再生されることを確認できます。
ストレージアカウントにできた音声ファイルをダウンロード(Logic AppsでAzure Speech ServiceのText To Speechを使う方法)
音声ファイルを再生(Logic AppsでAzure Speech ServiceのText To Speechを使う方法)

—広告—

最後に

Logic AppsでAzure Speech Serviceを利用する方法について確認しました。
Convert text to speechを利用して、テキストデータを音声化する手順を例に確認しています。
トリガーとしてメール受信などを利用して、メール文章の読み上げした音声データを生成することもできそうです。

引き続き、いろいろ試してみたいと思います。

Azure AI Translatorの概要やLogic Appsでの利用方法については、こちらで紹介しています。

スポンサーリンク