Azureではテキストをスピーチ化するAPIが提供されています。ニューラルなボイスに対応して、一段と聞こえ方も改善されています。
Azure TextToSpeechとは?
マイクロソフトのテキストを音声合成するAPIです。
試すには?
その精度については、以下のサイトで自由に試すことができます。
Text to Speech | Microsoft Azure
音声では、従来のような?音声の「歩美」さんや、ニューラルな「七海」さんなどがあります。
切り替えて試すと、歩美さんはいかにも音声合成といった感じがしますが、七海さんになるとかなりナチュラルなしゃべり方に近づいています。
費用は?
1 個の同時要求では
- Standard 1 か月あたり 5 million 文字まで無料
- ニューラル 1 か月あたり 0.5 million 文字まで無料
- カスタム 1 か月あたり 5 million 文字まで無料、エンドポイント ホスティング: 1 か月あたり 1 モデルまで無料
20個同時接続までの対応の場合、
- Standard 1,000,000 文字あたり ¥448
- ニューラル 1,000,000 文字あたり ¥1,792
- ニューラル長い音声の作成: 1,000,000文字あたり ¥11,200
- カスタム 1,000,000 文字あたり ¥672
ニューラルはニューラルモデルのボイスを利用する場合、カスタムはカスタムの音声を使う場合です。
無料版もあるのでお試ししやすいと思います。
Cognitive Services のSpeech Services | Microsoft Azure
TextToSpeechの使い方
使うには?
マイクロソフトAzureの登録が必要です。
https://portal.azure.com/#home
登録方法については以下参照ください。
CognitiveServceでスピーチ用の項目を作ります。
作成後は、キーとエントリーポイントのところからエンドポイントやアクセスキーを入手できるので、後はそれをプログラムに組み込んで利用しましょう。
利用できる日本語タイプ
通常
- 日本語 (日本) ja-JP Female ja-JP-Ayumi
- 日本語 (日本) ja-JP Female ja-JP-HarukaRUS
- 日本語 (日本) ja-JP Male ja-JP-Ichiro
ニューラル系
- 日本語 (日本) ja-JP Female ja-JP-NanamiNeural
- 日本語 (日本) ja-JP Male ja-JP-KeitaNeural
言語サポート - 音声サービス - Azure Cognitive Services | Microsoft Docs
速度等を変更するには?
音声合成を指示するXMLで、prosody rate="+30%"のように指定します。これは速度を3倍にするというものです。
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-GuyNeural">
<prosody rate="+30.00%">
Welcome to Microsoft Cognitive Services Text-to-Speech API.
</prosody>
</voice>
</speak>
音声合成マークアップ言語 (SSML) - Speech Service - Azure Cognitive Services | Microsoft Docs
不具合
エラーコード
400
パラメータが不足
401
権限がない。キーやトークンが正しいか確認してみましょう。
415
コンテントタイプのエラー。「application/ssml+xml」に設定されているか確認しましょう。
429
リクエストが多いエラー。接続過多。
502
サーバエラー。
音声がならない?
ニューラル系の音声を使う場合、利用できるサーバーできないサーバーがあります。
東日本、西日本は執筆時現在未対応です。
アジア圏であれば「東南アジア」が対応しています。
Text to Speech API リファレンス (REST) - Speech Service - Azure Cognitive Services | Microsoft Docs