スピーチマークを使用する - Amazon Polly

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

スピーチマークを使用する

スピーチマークのリクエスト

入力テキストのスピーチマークをリクエストするには、synthesize-speech コマンドを使用します。このメタデータを返すには、入力テキストに加えて、以下の要素が必要です。

  • output-format

    Amazon Polly は、スピーチマークを返す際、JSON 形式のみサポートしています。

    --output-format json

    サポートされていない出力形式を使用する場合、Amazon Polly は例外をスローします。

  • voice-id

    メタデータが、音声ストリームと一致することを確認するには、合成されたスピーチ音声ストリームの生成に使用されているのと同じ音声を指定します。使用可能な音声に一致する音声速度がありません。音声を生成するために使用する音声とは別の音声を使用する場合、メタデータは音声ストリームと一致しません。

    --voice-id Joanna
  • speech-mark-types

    スピーチマークの種類を指定します。スピーチマークの種類のいずれか、またはすべてをリクエストできますが、少なくとも 1 つ指定する必要があります。

    --speech-mark-types='["sentence", "word", "viseme", "ssml"]'
  • text-type

    プレーンテキストは、Amazon Polly のデフォルトの入力テキストのため、SSML スピーチマークを返す場合は、text-type ssml を使用する必要があります。

  • outfile

    メタデータが書き込まれた出力ファイルを指定します。

    MaryLamb.txt

 

次の AWS CLI の例は、Unix、Linux、および macOS 用にフォーマットされています。Windows の場合は、各行末のバックスラッシュ (\) Unix 連結文字をカレット (^) に置き換え、入力テキストは二重引用符(") で囲み、内部タグは一重引用符 (') で囲みます。

aws polly synthesize-speech \ --output-format json \ --voice-id Voice ID \ --text 'Input text' \ --speech-mark-types='["sentence", "word", "viseme"]' \ outfile

スピーチマークの出力

Amazon Polly は、スピーチマークのオブジェクトを改行で区切られた JSON ストリームで返します。スピーチマークのオブジェクトには、次のフィールドが含まれます。

  • time (時間) – 対応する音声ストリームの開始からのタイムスタンプ (ミリ秒)。

  • type (種類) - スピーチマークの種類 (文、単語、ビゼーム、または ssml)

  • start (開始) - 入力テキストのオブジェクトの開始からのオフセット (文字ではなくバイト) (ビゼームマークを含まない)

  • end (終了) - 入力テキストのオブジェクトの終了のオフセット (文字ではなくバイト) (ビゼームマークを含まない)

  • value (値) - スピーチマークの種類によって異なります

    • SSML: <mark> SSML タグ

    • viseme: ビゼーム名

    • word または sentence: 入力テキストの部分文字列。開始および終了フィールドで区切られます

例えば、Amazon Polly では、「Mary had a little lamb」というテキストから、次の word スピーチマークのオブジェクトを生成します。

{"time":373,"type":"word","start":5,"end":8,"value":"had"}

記載された単語 (「had」) は、音声ストリーム開始後、373 ミリ秒後に開始して、入力テキストの 5 バイトめで開始し、8 バイトめで終了します。

注記

このメタデータは、Joanna の voice-id に使用されます。同じ入力テキストの別の音声を使用する場合、メタデータは異なる場合があります。