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を使った音声合成を試すことができます。
PollyのPlaygroundを使用すると、リアルタイムでSSMLの結果を確認でき、音声合成の細かい調整を簡単に行えます。
P.S.
インバウンド対策のWebサービス「リングイスト」でもPollyを使用して音声を生成しています。

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