COLUMN
Amazon PollyでSSMLタグを使ってチューニングしてみた
こんにちは、田口です。
Amazon Pollyとはディープラーニングを用いてテキストを音声に変換するフルマネージドサービスです。
Amazon PollyはSSML(音声合成マークアップ言語)に対応しており、SSMLタグを使うことで発音や発声速度などをカスタマイズすることができます。
今回はSSMLタグを利用して読み上げ音声のチューニングを試していきます。
1. Amazon Pollyとは
Amazon Pollyとは、ディープラーニングを利用して記事やPDFなどあらゆるテキストをリアルな音声に変換する、フルマネージドサービスです。
Amazon Pollyでは幅広い言語で数十種類の音声が提供されており、日本語対応している音声は4種類あります。
またAmazon Polly APIを利用することで、既存アプリケーションと統合することも可能です。
1-1. 利用料金について
Amazon Pollyは従量課金制で、音声またはSpeech Marksのメタデータに変換したテキストの文字数に基づいて料金が計算されます。Amazon Pollyは読み上げのエンジンが2つ用意されており、標準の音声を生成するスタンダードとさらに高品質の音声を生成するニューラルがあります。またそれぞれのエンジンで無料利用枠が異なっており、無料利用枠を超えると以下の料金が発生いたします。
スタンダード
- 1か月あたり500万文字/最初の12か月
- 4.00USD (無料利用枠を超えた場合)
ニューラル
- 1か月あたり100万文字/最初の12か月
- 16.00USD (無料利用枠を超えた場合)
記載の料金は2025年1月末時点のものです。
そのほか、詳細については以下AWSの料金ページを参照してください。
1-2. ユースケース
Amazon Polly の主なユースケースとして、アプリケーションに音声機能を追加したり、Eラーニングのような教材のテキスト読み上げ機能として利用されます。
またAmazon ConnectにてAmazon Pollyを利用した音声アナウンスを利用することが可能です。
例えば株式会社クレディセゾンでは、Amazon ConnectとAmazon Pollyを組み合わせて自動架電と自動音声システムを利用したシステムを開発しています。
他にもFM WakayamaではAmazon Pollyを利用して、24時間ラジオニュースや天気予報の放送を行っています。
- 参照:AWS 導入事例:株式会社クレディセゾン
- 参照:AWS 導入事例:特定非営利活動法人エフエム和歌山
2. SSMLとは
SSML(Speech Synthesis Markup Language)とは、音声合成に利用されるマークアップ言語で、ピッチや発音、読み上げ速度、音量などを調整することができるXMLベースのマークアップ言語です。
例えば、SSMLを利用することで一時停止や長めの休止をいれることができたり、特定のフレーズを強調することができたり、定義することができます。そのほかにも漢字の発音を指定することができます。
Amazon Polly でサポートされているSSMLタグは以下の通りです。
アクション | SSML タグ |
---|---|
一時停止を追加する | <break> |
単語を強調する | <emphasis> |
特定の単語に別の言語を指定する | <lang> |
テキストにカスタムタグを配置する | <mark> |
段落間に一時停止を追加する | <p> |
発音記号を使用する | <phoneme> |
音量、話す速度、ピッチを制御する | <prosody> |
合成音声の最大時間を設定する | <prosody amazon:max-duration> |
文章間に一時停止を追加する | <s> |
特殊なタイプの単語の発声方法を制御する | <say-as> |
SSML拡張テキストの識別 | <speak> |
頭字語や略語を発音する | <sub> |
品詞を指定して発音を向上させる | <w> |
呼吸音を追加する | <amazon:auto-breaths> |
ニュースキャスターの話し方 | <amazon:domain name=news> |
ダイナミックレンジ圧縮を追加する | <amazon:effect name="drc"> |
柔らかく発声する | <amazon:effect phonation="soft"> |
声質を制御する | <amazon:effect vocal-tract-length> |
ウィスパー | <amazon:effect name="whispered"> |
3. SSMLタグを使用してテキスト読み上げをチューニングする
ではSSMLタグを使用して、テキストの読み上げをチューニングしてみようと思います。
読み上げに使用する内容は以下にしてみます。
「おまかせサイバーみまもりGigaプラン」および「おまかせサイバーみまもりセキュリティパッケージ」の2プランを提供開始
セキュリティ機器1Gbps対応に加え、多様化するサイバー攻撃への包括的なセキュリティ対策と運用監視をセットで提供
https://www.ntt-east.co.jp/release/detail/20250120_02.html
まずは特にSSMLタグを使用せず、そのままテキストを読ませてみます。
日本語で読ませたい場合は、東京リージョンで実施する必要があります。
ニューラルエンジンで、”Takumi”の音声を利用してみます。
単語の読みは概ね問題なさそうですが、セキュリティの発音や音の区切りなど気になる点があります。
- “「おまかせサイバーみまもりGigaプラン」および「おまかせサイバーみまもりセキュリティパッケージ」の2プランを提供開始”の部分が一気に読まれてしまい、聞き取りにくい
- “セキュリティ”の発音が気になる
- 段落を気にせず続けざまに読まれてしまっている
このあたりをSSMLタグを利用してチューニングしてみようと思います。
SSMLと書いてあるトグルをクリックしてONにします。
3-1. 段落間に一時停止を追加
段落があっても一気に読まれてしまい、聞き取りにくい音声となっているため、<p>を段落に追加し、続けざまに読まれないように調整します。
こちらのタグを使用することで、カンマや文章の終わりで一時停止するよりも長めに一時停止することができます。
追加後は一拍おいて次の行が読まれるようになっており、切れ目がわかりやすくなりました。
<speak>
<p>「おまかせサイバーみまもりGigaプラン」および「おまかせサイバーみまもりセキュリティパッケージ」の2プランを提供開始</p>
<p>セキュリティ機器1Gbps対応に加え、多様化するサイバー攻撃への包括的なセキュリティ対策と運用監視をセットで提供</p>
</speak>
3-2. 一時停止を追加する
次に「」内をより聞き取りやすくするため、<break>タグを追加します。
<break>タグはstrengthとtimeの二種類の属性を指定することが可能です。この属性を利用することで一時停止の長さを調整することができます。
strength
- none: 一時停止せず、ピリオド後などに発生する一時停止を削除する際に使用する
- x-weak: noneと同じ強度で、一時停止しない
- weak: カンマ後と同じ長さの一時停止をする
- medium: weakと同じ強度で一時停止する
- strong: 文の後と同じ長さの一時停止をする
- x-strong: 段落後と同じ長さの一時停止をする
time
- [数字]s: 秒数単位で一時停止の時間を設定(最大は10秒)
- [数字]ms: ミリ秒数単位で一時停止の時間を設定(最大は10000ミリ秒)
参照:一時停止を追加する
<speak>
<p>「おまかせサイバーみまもりGigaプラン」<break strength="weak" />および「おまかせサイバーみまもりセキュリティパッケージ」<break strength="weak" />の2プランを提供開始</p>
<p>セキュリティ機器1Gbps対応に加え、多様化するサイバー攻撃への包括的なセキュリティ対策と運用監視をセットで提供</p>
</speak>
3-3. 発音記号を使用する
セキュリティの発音を修正していこうと思います。
<phoneme>タグは発音記号を使用して発音を指定することができます。日本語においては発音仮名と読み仮名のアルファベットの使用をサポートしており、これらを使用するには以下alphabet="x-amazon- ~ " 属性が使用できます。
-
x-amazon-pron-kana: 発音仮名が使用されていることを示す。ピッチアクセントをエンコードできる。
例)名前は<phoneme alphabet="x-amazon-pron-kana" ph="ヒロカ'ズ">浩一</phoneme>です。 -
x-amazon-yomigana: 読み仮名が使用されていることを示す。読み仮名には従来のカタカナ、ひらがな、ヘボン式ローマ字を使用可能。
例)名前は<phoneme alphabet="x-amazon-yomigana" ph="ひろかず">浩一</phoneme>です。
参照:日本語 (ja-JP)
<speak>
<p>「おまかせサイバーみまもりGigaプラン」<break strength="weak" />および「おまかせサイバーみまもり<phoneme alphabet="x-amazon-pron-kana" ph="セキュリティー">セキュリティ</phoneme>パッケージ」<break strength="weak" />の2プランを提供開始</p>
<p>セキュリティ機器1Gbps対応に加え、多様化するサイバー攻撃への包括的な、<phoneme alphabet="x-amazon-yomigana" ph="セキュリティー">セキュリティ</phoneme>対策と運用監視をセットで提供</p>
</speak>
ということで、色々チューニング後、最終的にできあがった音声はこちらとなります。
4. まとめ
本コラムではAmazon PollyのSSMLタグを利用したテキスト読み上げのチューニングについて紹介しました。
AWSコンソール上でSSMLタグを利用することで簡単に調整することが可能です。
またAmazon Connectでのテキスト読み上げにおいても、SSMLタグを利用してチューニングすることができます。
より自然なニュアンスでテキストを読み上げてほしいといった場合は、SSMLタグの利用もご検討ください。
無料ダウンロード
自社のクラウド導入に必要な知識、ポイントを
この1冊に総まとめ!
あなたはクラウド化の
何の情報を知りたいですか?
- そもそも自社は本当にクラウド化すべき?オンプレとクラウドの違いは?
- 【AWS・Azure・Google Cloud】
どれが自社に最もマッチするの? - 情シス担当者の負荷を減らしてコストを軽減するクラウド化のポイントは?
- 自社のクラウド導入を実現するまでの具体的な流れ・検討する順番は?
初めての自社クラウド導入、
わからないことが多く困ってしまいますよね。
NTT東日本では
そんなあなたにクラウド導入に必要な情報を
1冊の冊子にまとめました!
クラウド化のポイントを知らずに導入を進めると、以下のような事になってしまうことも・・・
- システムインフラの維持にかかるトータルコストがあまり変わらない。。
- 情シス担当者の負担が減らない。。
- セキュリティ性・速度など、クラウド期待する効果を十分に享受できない。。
理想的なクラウド環境を実現するためにも、
最低限の4つのポイントを
抑えておきたいところです。
-
そもそも”クラウド化”とは?
その本質的なメリット・デメリット - 自社にとって
最適なクラウド環境構築のポイント - コストを抑えるための
具体的なコツ - 既存環境からスムーズにクラウド化を
実現するためのロードマップ
など、この1冊だけで自社のクラウド化のポイントが簡単に理解できます。
またNTT東日本でクラウド化を実現し
問題を解決した事例や、
導入サポートサービスも掲載しているので、
ぜひダウンロードして読んでみてください。
面倒でお困りのあなたへ
クラウドのご相談できます!
無料オンライン相談窓口
NTT東日本なら貴社のクラウド導入設計から
ネットワーク環境構築・セキュリティ・運用まで
”ワンストップ支援”が可能です!
NTT東日本が選ばれる5つの理由
- クラウド導入を
0からワンストップでサポート可能! - 全体最適におけるコスト効率・業務効率の改善を
中立的にご提案 - クラウド環境に問題がないか、
第3者目線でチェック
してもらいたい - 安心の24時間・365日の対応・保守
- NTT東日本が保有する豊富なサービスの組み合わせで
”課題解決”と”コスト軽減”を両立
特に以下に当てはまる方はお気軽に
ご相談ください。
- さまざまな種類やクラウド提供事業者があってどれが自社に適切かわからない
- オンプレミスのままがよいのか、クラウド移行すべきなのか、迷っている
- オンプレミスとクラウド移行した際のコスト比較を行いたい
- AWSとAzure、どちらのクラウドが自社に適切かわからない
- クラウド環境に問題がないか、第3者目線でチェックしてもらいたい
- クラウド利用中、ネットワークの速度が遅くて業務に支障がでている
クラウドを熟知するプロが、クラウド導入におけるお客さまのLAN 環境や接続ネットワーク、
クラウドサービスまでトータルにお客さまのお悩みや課題の解決をサポートします。
RECOMMEND
その他のコラム
相談無料!プロが中立的にアドバイスいたします
クラウド・AWS・Azureでお困りの方はお気軽にご相談ください。