音声合成マークアップ言語 - Speech Synthesis Markup Language (SSML)

| 2 min read
Author: shigeki-shoji shigeki-shojiの画像

庄司です。

現在では様々なところで、コンピュータを使用した音声合成を聞くことができます。

音声合成のマークアップ言語の仕様として、W3C による「Speech Synthesis Markup Language (SSML) Version 1.1」があります。

この SSML をサポートするサービスには次のようなものがあります。

SSML で使用できるエレメントの概説は次のとおりです。

エレメント 説明
lexicon 辞書
lookup 辞書の参照
meta メタ情報
metadata メタ情報
p パラグラフ
s センテンス
token トークン指定
w 品詞の指定
say-as 発声方法の制御
phoneme 発音記号の使用
sub 頭字語等の発音
lang 言語の指定
prosody 音量、速度、ピッチなど
voice 声の変更
emphasis 単語を強調
break 一時停止
audio 音声に合成するオーディオ
mark カスタムタグの配置
desc audio のみで使用可能でオーディオの説明

この記事では、Amazon Polly を使用した音声サンプルを用意しました。

Amazon Polly では、SSML 仕様の一部をサポートしています。

Amazon Polly は言語別にいくつかの音声が選択可能です。ここでは「Takumi, 男性」を使用してみます。

また、エンジンは、可能な限り自然で人間に似た音声を生成する「ニューラル」と自然な音声を生成する「スタンダード」があります。

音声のテキストは著作権の制約を受けない日本国憲法から引用しました。両者を聞き比べてください。

<speak>すべて国民は、法の下に平等であつて、人種、信条、性別、社会的身分又は門地により、政治的、経済的又は社会的関係において、差別されない。</speak>

ニューラルの場合です。

スタンダードの場合です。

SSML で細かく調整していない場合でもニューラルによる音声合成は自然に感じられます。

スタンダードを使用する場合は、例えば <prosody> タグを使用して音量 (volume)、話す速度 (rate)、ピッチ (pitch) 等を調整して求める品質を探索する必要がありそうです。

<speak>すべて国民は、法の下に平等であつて、人種、信条、性別、社会的身分又は門地により、政治的、経済的<prosody rate="150%">又は</prosody>社会的関係において、差別されない。</speak>

SSML のようなテキストだけで台本の定義ができるとプレゼンテーションのリハーサルや e-Learning 教材の準備あるいは最終成果物の構築に git 等のバージョン管理システムが活用でき保守性の向上が期待できます。

例えば、GitHub Actions のようなツールを使って、台本の変更をトリガとして自動的に音声ファイルを生成することや、機械翻訳を組み合わせて複数の言語を提供することも可能となります。

豆蔵では共に高め合う仲間を募集しています!

recruit

具体的な採用情報はこちらからご覧いただけます。