EchoのAlexa内で使われている音声マークアップ言語SSMLを調べる機会があったので調べ&試してみました。SSMLとはSSMLは音声のマークアップ言語です。同じマークアップ言語といえばHTMLが有名ですね。Pollyによる機械音声の発声をコントロールできます。<speak><p>こんにちは。</p><p>簡単なSSML例です。name="whispered">ひそひそ声でしゃべったり</amazon:effect>できます。</p></speak>HTMLが分かる方ならピンとくると思いますが、発声を変えたい箇所をHTMLと同じようにマークアップします。<amazon>なんてタグがある辺り過渡期感がすごいです。SSMLの例AmazonのSSML公式ドキュメントでも網羅されていますが、日本語環境で使うと効果の感じられないものもあるので、自分が試した中で必要・有用と感じたタグを紹介します。<speak>SSMLは<speak>で始まり</speak>で終わる、HTMLで言う<html>タグです。全体を囲う形で必須のタグです。time="1s"/>僕です。以上のように記述することで指定した時間、音声を停止させます。句読点でも適切な間隔を取ってくれますが、停止時間をコントロールしたい時に使います。HTMLで言う<br>タグのように使います。<p><p>こんにちは</p><p>僕です。</p>HTMLの<p>タグと使い方は同じです。段落で区切ることで適度な時間停止し、文章の間をバランスよく取ってくれます。<emphasis><p>こんにちは。<emphasis>強調</emphasis>させてみます。</p>発声を少し強調します。日本語だと滝川クリステルの「お・も・て・な・し」のような区切って発声しているような喋り方になります。<prosody>属性を1つ以上付けることで音声のボリュームやピッチを変えます。volume="loud">大声で喋ります。rate="fast">早口で喋ります。pitch="high">高い声で喋ります。pitch="x-low">遅く、低い声で喋ります。name="whispered">ひそひそ声で喋ります。</amazon:effect>ひそひそ声で喋ります。前述の<prosody>で小声にしたものとはまた違った、稲川淳二ロイドにできそうなリアルなひそひそ声で喋ります。<amazon:breath/>テキストには存在しない呼吸音を入れることができます。合成音声をよりリアルな声に近づけられます。/>と同じ呼吸音用タグですが、こちらは文章を囲って使います。文章内の自然なタイミングで自動的に呼吸音を入れてくれるため、こちらの方が実用性が高く思えます。<amazon:auto-breaths>こんにちは。phonation=”soft”>発声が少しゆっくり、少し高めな柔らかい印象の発声になります。phonation="soft">柔らかい印象の声になります。</amazon:effect>さいごに音声をマークアップするという概念が新しかったので、HTMLが分かる方には面白いのではないでしょうか。上記で紹介したタグを使えばAlexaやPollyの発声カスタマイズはおよそカバーできると思いますが、他にもいくつかのタグや、細かいパラメーターはあるため、詳しくは公式ドキュメントを参照してください。ツイートシェアはてなゴトーUI/UXエンジニア。デザイン、サービス設計、機能(UI)設計、サーバサイド、SEO、ウェブマーケティングなどWebの全般に関わり、現在はBtoBの領域中心にWebとユーザーのふれあい方(体験:UX)に関して垣根なく取り組んでいます。