SSML
読み: エスエスエムエル
SSMLとは音声読み上げの制御言語
SSMLはSpeech Synthesis Markup Languageの略で、音声合成エンジンに対して「どう読むか」を細かく指示するためのXMLベースのマークアップ言語である。読み上げの速度、ピッチ、間の取り方、強調箇所などを制御でき、Google Cloud Text-to-SpeechやAmazon Pollyといった主要な音声合成サービスが対応している。
かんたんに言うと
テキストを音声に変換するとき、「ここはゆっくり読め」「ここで1秒止まれ」「この単語はこう発音しろ」と台本に演技指導を書き込むような仕組みである。
棒読みを防ぎ発話品質を引き上げるSSMLマークアップの位置づけ
テキストを音声合成エンジンに渡すだけなら、プレーンテキストでも音声は生成される。ただし、それでは棒読みになる。ビジネス用途で使うIVR、教育コンテンツ、アクセシビリティ対応の読み上げ機能など、品質が求められる場面ではプレーンテキストでは役に立たない。
SSMLはW3Cが策定した仕様で、音声合成出力のきめ細かな制御を目的としている。HTMLがWebページの構造を記述するように、SSMLは音声の読み方を記述する。
タグの構造はXMLそのものなので、既にWebの技術に馴染みがあれば学習コストは低い。
速度、ピッチ、間、強調を操る主要タグの使い方
SSMLの中核となるタグは数種類しかない。
タグは速度とピッチを制御する。rate属性に「slow」や「fast」、数値で「80%」のように指定する。ナレーション向けにゆっくり読ませたり、緊急アナウンスで速度を上げたりできる。
タグは無音の間を挿入する。time属性で「500ms」「1s」のように秒数を指定する。文章の区切りに適切な間を入れるだけで、聞き取りやすさが大きく変わる。
タグは特定の単語を強調する。level属性で「strong」「moderate」「reduced」を選ぶ。
タグは数字や日付の読み方を指定する。「2026」を「にせんにじゅうろく」と読ませるか「にーぜろにーろく」と読ませるか、interpret-as属性で切り替えられる。電話番号、住所、金額など、読み方にルールがあるデータには欠かせない。
Google Cloud TTSとAmazon Pollyでの実装の違い
SSMLはW3C仕様がベースだが、サービスごとに対応タグや挙動に差がある。
Google Cloud Text-to-Speechは
IVRやアクセシビリティなどビジネスでの活用場面
コールセンターのIVRは最も普及している用途の一つで、「お電話ありがとうございます」の後に適切な間を入れ、メニュー番号をゆっくり読み上げる制御にSSMLが使われている。
Webアクセシビリティの分野では、視覚障害者向けの読み上げコンテンツの品質向上に寄与する。専門用語や略語の読み方をタグで明示的に指定すれば、誤読を防げる。
eラーニングのナレーション自動生成も増えている。講師の音声を録り直す代わりに、SSMLで細かく調整した合成音声を使えば、コンテンツ更新のたびにスタジオ収録する必要がなくなる。
ただし、音声合成の品質はモデル次第である。SSMLでどれだけ細かく指示しても、ベースとなる音声モデルの品質が低ければ不自然さは残る。SSMLは指揮者の棒であって、楽器の音色を変えるものではない。
当社の見解
当社は機密情報のマスキング処理を全てローカルAIで行っている。これにより機密情報を外部に送信せずにAI処理できるようになった。だが、AIが嘘をつくハルシネーションの問題は依然としてある。確認していないのに「確認しました」と言う。当社はこの前提で運用を設計している。事実と推測の強制分離、ファクトチェック機能、3つのAIと人間の同士の三重検証を行っている。どこまでいっても、AIは完璧ではない。理論上100%安全設計をしていても、AIも人間も想定しないことは起こるものだ。その万が一に備えておくことが、AIを使う上では前提になっている。だろうではなく、かもしれない運用がAIを使う上での安全基盤となっている。
同じ失敗を二度としないAIエージェント
今のAIは、聞けば何でも答えてくれます。
でも、セッションが切れた瞬間に前回の失敗を忘れます。
当社が開発しているAIは、過去の経緯を念頭に置いて、
聞かれる前に「それは前回うまくいきませんでした」と声をかけます。
人間にも同じ失敗をさせず、AI自身も繰り返しません。
古参の社員が横にいるように、黙っていても気づいてくれる。
それが、当社が考える本当のAI社員です。
