SSML単語

エスエスエムエル
2.3千文字の記事
  • 0
  • 0pt
掲示板へ

SSML(Speech Syntesis Markup Language)とは、音を表現しようとするマークアップ言語である。

概要

文章というものには、音程速さのような情報は含まれていない。それらの情報人間読み上げる時に付与するものである。

SSML(Speech Syntesis Markup Language)とは、そういった読み上げに必要な情報の一部を文書に埋め込んで、コンピューター自然合成音声を出力する助けにしようとするXMLによるマークアップ言語である。

もっとも、2010年代以降のAIブームによりコンピューターが文脈を解釈して、上記のような情報PC(あるいはクラウド)側で補できるようになりつつある。それでも明示的に定すればAI単独よりもより自然合成音声が得られるかもしれない。

開発終了

W3Cが中心となって開発していた。最初の案が出たのは2000年8月8日バージョン1.0は2004年9月7日バージョン1.1は2010年9月7日W3C推奨になった。

だが、W3Cの音ブラウザ作業部会は2015年10月12日に解散しており、後発団体であるWHATWG内にもSSMLに関するものはない(要望があがったが却下されているexit)ので、これ以上進歩することはないと思われる。

用途

Web Speech APIMicrosoft Speech API, Microsoft Speech Platform以外にも、GoogleCloud Text-to-Speechや、Alexa、Azureなどでもサポートされているが、多くはSSMLの一部の機サポートにとどまっている。

以下はPowerShellスクリプト内のSSMLを読み上げるサンプルである。(SJISで保存しないと日本語文字化け状態で読み上げられる。)音程定が十分に反映されないのは音声合成エンジン側の仕様と思われる。

<speak>タグで囲まれた部分がSSMLである。

Add-Type -AssemblyName System.speech
$speak = New-Object System.Speech.Synthesis.SpeechSynthesizer
$speak.Speak("日本語使用可")
$Phrase = '
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis"
xml:lang="en-US">
<voice xml:lang="en-US">
<prosody rate="1">
<p>Normal pitch. </p>
<p><prosody pitch="x-high"> High Pitch. </prosody></p>
<p><prosody pitch="low"> High Pitch. </prosody></p>
<p><prosody pitch="+2st"> High Pitch. </prosody></p>
<p><prosody pitch="+4st"> High Pitch. </prosody></p>
<p><prosody pitch="+6st"> High Pitch. </prosody></p>
<p><prosody pitch="+8st"> High Pitch. </prosody></p>
<p><prosody pitch="+10st"> High Pitch. </prosody></p>
<p><prosody pitch="+12st"> High Pitch. </prosody></p>
<p><prosody pitch="x-low" range="x-high" rate="fast" volume="x-loud"> High Pitch. </prosody></p>
<p>Normal pitch. </p>
</prosody>
</voice>
</speak>
'
$speak.SpeakSsml($Phrase)

# $speak.SetOutputToWaveFile("testwave.wav")
$Phrase = '
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis"
xml:lang="jp">
<voice xml:lang="jp">
<prosody rate="1">
<p><prosody pitch="+2st"> ド </prosody>
<prosody pitch="+4st"></prosody>
<prosody pitch="+6st"> ミ </prosody>
<prosody pitch="+8st">ァ </prosody>
<prosody pitch="+10st"> </prosody>
<prosody pitch="+12st"> </prosody>
<prosody pitch="+14st">  </prosody></p>
<p><prosody pitch="+16st"> ド </prosody></p>
<p><prosody pitch="500Hz" range="x-high"> High Pitch. </prosody></p>
<p>Normal pitch. </p>
</prosody>
</voice>
</speak>
'
$speak.SpeakSsml($Phrase)


$speak.Dispose()

外部リンク

関連項目

【スポンサーリンク】

  • 0
  • 0pt
記事編集 編集履歴を閲覧

ニコニ広告で宣伝された記事

ニコニ広告 (単) 記事と一緒に動画もおすすめ!
提供: ゲスト2
もっと見る

この記事の掲示板に最近描かれたお絵カキコ

お絵カキコがありません

この記事の掲示板に最近投稿されたピコカキコ

ピコカキコがありません

SSML

まだ掲示板に書き込みがありません…以下のようなことを書き込んでもらえると嬉しいでーす!

  • 記事を編集した人の応援(応援されると喜びます)
  • 記事に追加して欲しい動画・商品・記述についての情報提供(具体的だと嬉しいです)
  • SSMLについての雑談(ダラダラとゆるい感じで)

書き込みを行うには、ニコニコのアカウントが必要です!


急上昇ワード改

2025/12/26(金)02時00分 現在

おすすめトレンド

ニコニコニューストピックス