テキスト読み上げ (プレビュー)
現在プレビュー段階にある OpenAI テキスト読み上げモデルを使って、テキストを音声に合成できます。
Azure AI 音声経由で OpenAI テキスト読み上げの音声を使うこともできます。 詳細については、Azure OpenAI Service または Azure AI 音声経由の OpenAI テキスト読み上げ音声のガイドを参照してください。
こちらを遊んでみたメモです。
材料
- Azure OpenAI
- Azure Logic Apps
- SharePoint (ストレージなど *.mp3 を格納する場所)
詳細
Azure OpenAI
自分用のデプロイをひとつ用意しております。tts-hd を選びました。
POST https://{endpoint}/openai/deployments/{deployment-id}/audio/speech?api-version=2024-12-01-preview
ここでは以下を用いています。
https://nobuk-m6ftfebf-swedencentral.cognitiveservices.azure.com/openai/deployments/noytts-hd/audio/speech?api-version=2024-05-01-preview
Azure Logic Apps
マネージド ID
先に、当該 Logic Apps のシステム割り当てマネージド ID を有効にしておきます。Azure ロールの割り当てには Cognitive Services OpenAI User を指定しておきます。
トリガー
ワークフローを作成していきます。日次実行としています。
今日の予報を取得する
場所は東京。ほか特に何もしていません。
テキストの翻訳
今日の予報の概要を翻訳元テキストとして設定します。
HTTP リクエスト
先ほど確認したエンドポイントへ POST を送ります。
本文は以下。
{
"model": "tts-hd",
"input": "@{body('テキストの翻訳')}",
"voice": "alloy"
}
Rest API で以下と同様になります。
POST https://nobuk-m6ftfebf-swedencentral.cognitiveservices.azure.com/openai/deployments/noytts-hd/audio/speech?api-version=2024-05-01-preview
Content-Type: application/json
api-key: <api-key>
{
"model": "tts-hd",
"input": "<音声にしたいテキスト>",
"voice": "alloy"
}
ファイルの作成
SharePoint (またはストレージなど *.mp3 を格納する場所) を用意しておきます。Response の Body をそのままコンテンツとして保存します。
完成
参考
OpenAI テキスト読み上げ音声とは - Azure AI services | Microsoft Learn
テキスト読み上げについてのよくあるご質問 (FAQ) - Azure AI services | Microsoft Learn










