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

IBM Cloud『医療機関向けクラウドサービス対応セキュリティリファレンス (2024年度)』公開のお知らせ

IBM Cloud Blog, IBM Cloud News

このたびIBM Cloudでは総務省ならびに経済産業省が提唱する医療業界におけるクラウドサービスの利活用に関するガイドラインに対応していることを確認し、整理したリファレンス『医療機関向けクラウドサービス対応セキュリティリ ...続きを読む


イノベーションを起こす方法をイノベーションしなければならない(From IBVレポート「エコシステムとオープン・イノベーション」より)

Client Engineering, IBM Data and AI, IBM Partner Ecosystem

不確実性が増し、変化が絶え間なく続く時代には「イノベーション疲れ」に陥るリスクがある。誰もがイノベーションを起こしていると主張するならば、結局、誰もイノベーション(革新的なこと)を起こしてなどいないことになるだろう 当記 ...続きを読む


IBM Cloud追加認定のお知らせ – ISMAP登録

IBM Cloud Blog, IBM Cloud News

昨年認定取得いたしましたIBM CloudのISMAP登録において、本日4月4日にサービスが追加されたことをお知らせします。 認定の概要は以下の通りです。詳細情報はISMAP公式サイト内のISMAPクラウドサービスリスト ...続きを読む