IBM Watson Blog

テキストの発話速度の調整方法

記事をシェアする:

cURLコマンドの<prosody>要素を使用して、テキストの発話速度の制御がいかに簡単かを学びます。

開発者は、最近、私が答えようとしていた質問を受けました。cURLPOSTを使用してIBM Watson Text to Speechの発話速度を調整するにはどうすればよいですか?
調査中に、SpeakingRateSSMLという用語に出くわしました。 クエリへの回答を投稿する前に、まず用語を理解しましょう。

 

発話速度、SSMLとは何ですか?

発話速度は、多くの場合、1分間あたりの単語数(wpm)で表されます。 この値を計算するには、数分間の発話を録音してから、発話の単語数を合計する必要があります。 単語の総数を発話にかかった分数で割ります。

Speaking rate (wpm) = total words/number of minutes

音声合成マークアップ言語(SSML)は、XMLベースのマークアップ言語で、音声合成アプリケーションにテキストの注釈を提供します。 これは、VoiceXML2.0仕様による音声合成の標準マークアップ言語として採用されている、W3C音声ブラウザワーキンググループの推奨事項です。 SSMLは、音声アプリケーションの開発者に、マークアップを介して発音、音量、ピッチ、速度、その他の属性を指定できるようにすることで、合成プロセスの側面を制御する標準的な方法を提供します。 SSMLの完全な概要については、IBMCloudの資料を参照してください。

 

始める前に

  • サービスのインスタンスを作成します:
    • IBM CloudカタログのText to Speechページに移動します。
    • 無料のIBMCloudアカウントにサインアップするか、ログインします。
    • [作成]をクリックします。
  • 認証する資格情報を、サービスインスタンスにコピーします:
    • IBM Cloud Resourceリストから、Text to Speechサービス・インスタンスをクリックして、Text to Speechサービスのダッシュボードページに移動します。
    • [管理]ページで、[資格情報の表示]をクリックし、資格情報を表示します。
    • APIキーとURLの値をコピーし、プレースホルダー{API_KEY}と{URL}を次のセクションのそれぞれの値に置き換えます。

 

コードスニペット

LinuxまたはmacOSでのPOST呼び出しの実際の例を次に示します:

curl -X POST -u “apikey:{API_KEY}” \ –header “Accept: audio/wav” \ –header “Content-Type: application/json” \ –data ‘{“text”: “<p><s><prosody rate=\”+50%\”>This is the first sentence of the paragraph.</prosody></s><s>Here is another sentence.</s><s>Finally, this is the last sentence.</s></p>”}’ \ –output result.wav \ “{URL}/v1/synthesize” -v

Windowsコマンドプロンプトで、次のコマンドを使用してJSONファイルinput.jsonを作成します:

echo { “text”: “<p><s><prosody rate=’+50%’>This is the first sentence of the paragraph.</prosody></s><s>Here is another sentence.</s><s>Finally, this is the last sentence.</s></p>” } > input.json

 

次に、cURLでresult.wavファイルを確認します:

 

curl -X POST -u “apikey:{API_KEY}” ^
–header “Accept: audio/wav” ^

–header “Content-Type: application/json” ^

–data @input.json ^

–output result.wav ^

“{URL}/v1/synthesize” -v

 

もっと詳しく

IBMCloud上の WatsonAssistantWatson Text to Speech、およびWatson Speech to Textサービスを使用して、音声対応の Android チャットボットの作成 をすばやく簡単にできることを学びます。

Slackbotを作成して、イベントおよび会議のDb2データベースエントリを作成および検索します。

SSML属性を理解するのに役立つ上記のコードサンプルを作成するための便利なリンクを次に示します。 また、以下のリンクで<prosody>の制限を確認してください。

https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-usingHTTP#usingHTTP

https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-elements#break_element

https://text-to-speech-demo.ng.bluemix.net (英語)

 

原文:November 10, 2020, “Adjust the Speaking Rate of Your Text” (https://www.ibm.com/cloud/blog/adjust-the-speaking-rate-of-your-text (英語))

More IBM Watson Blog stories

【NTTコミュニケーションズ様との共同実証報告】AI時代のネットワーク運用高度化に向けた取り組み

IBM Cloud Blog, オートメーション

システム障害と聞くだけで緊張してしまうのは私だけでしょうか?心理的にも体力的にも負荷が高いこの仕事をAIによって、なんとか楽にならないのか、と誰しもが思っています。そこで、IBMのAIによる運用支援ソリューションであるA ...続きを読む


IBMテクノロジーをフル活用しサービス競争力を大幅に向上させた、証券会社向けサービス「KICSクラウド」とは?

IBM Cloud Blog, IBM Partner Ecosystem

光世証券株式会社(以下、光世証券)は、証券業務を行う事業者向けに、証券基幹業務システムをクラウドで利用できる“KICS クラウド”の提供を開始することを発表しました。KICSクラウドはIBM Cloud環境で稼働している ...続きを読む


キー・パートナーに訊く | 西尾新司(エヌアイシー・ソフト株式会社)

IBM Cloud Blog, IBM Partner Ecosystem

「力になりたいとずっと思っていた」——そう話すのは、IBM Champion*の称号を2020年からお持ちの、エヌアイシー・ソフト株式会社所属の西尾 新司さん。今回の「キー・パートナーに訊く」は元IBM Champion ...続きを読む