SIMPLE

/ log

AIによる音声読み上げ機能をカスタマイズ / テキストの発話を調整するマークアップ言語の使い方

AIによる音声読み上げのクオリティーの向上は多言語ビジネスの顧客体験の向上にもつながります。この記事ではAIの音声読み上げをコントロールする事ができる簡単なマークアップ言語の使い方を見ていきます。

音声生成AIと読上げの設定について

1. Polly

Pollyは、テキストから音声を生成する音声合成サービスです。テキスト読み上げの設定を細かくカスタマイズすることができ、リアルな音声でメッセージを届けたいときに便利です。Pollyを使えば、さまざまな言語や声のトーンを選択でき、用途に合わせて自然な音声体験を提供できます。

2. SSML

SSML(Speech Synthesis Markup Language)は、テキスト読み上げ時に音声の詳細を制御するためのマークアップ言語です。SSMLを使用すると、発話の速度、ピッチ、音量、ポーズなどを細かく調整できます。以下は、PollyでSSMLを使用してテキストを読み上げる例です。

<speak>
    Today is <say-as interpret-as="date">2024-11-02</say-as>.
    <break time="300ms"/>

    <prosody rate="fast" volume="soft">
        Hi! My name is Joanna.
    </prosody>

    I will read any text you type here.

    For example, if I say "IBM," I could also say 
    <sub alias="International Business Machines">IBM</sub>.

    Here's my name pronounced phonetically: 
    <phoneme alphabet="ipa" ph="dʒoʊænə">Joanna</phoneme>.

    Bonjour in French would be: 
    <lang xml:lang="fr-FR">Bonjour</lang>.
</speak>

上記の入力から生成された音声



SSMLシンタックスのリスト

以下は、よく使用されるSSMLのタグです:

Amazon Polly Standardエンジン対応 SSMLタグ

  • <speak>
    ルートタグで、すべてのSSMLコンテンツを囲む
  • <say-as>
    特定形式で読み上げ
    例: <say-as interpret-as="date">2024-11-02</say-as>
  • <break>
    ポーズを挿入
    例: <break time="500ms"/>
  • <prosody>
    読み上げの速度・音量を調整
    例: <prosody rate="slow" volume="soft">こんにちは</prosody>
  • <sub>
    略語を別のテキストで読み上げ
    例: <sub alias="日本放送協会">NHK</sub>
  • <phoneme>
    発音指定
    例: <phoneme alphabet="ipa" ph="dʒoʊænə">ジョアンナ</phoneme>
  • <lang>
    言語指定
    例: <lang xml:lang="fr-FR">Bonjour</lang>

実際に試してみる

以下のリンクからAWSのPollyコンソールでSSMLを使った音声合成を試すことができます。

SSML + Pollyを試す

PollyのPlaygroundを使用すると、リアルタイムでSSMLの結果を確認でき、音声合成の細かい調整を簡単に行えます。



P.S.

インバウンド対策のWebサービス「リングイスト」でもPollyを使用して音声を生成しています。

Takaaki Yoneda

デザイン、プログラミング、マーケティング、語学学習、水泳、水耕栽培、登山などが好きな、多動性障害が疑われる中部地方在住の男性。