インターネットとそれに関連するあらゆるものは、今日どこにでもあるようです。深夜の電話販売業者から音声電話がかかってきたり、地元の薬局から処方箋通知を受け取ったりしたことがあるかもしれません。現在、音声合成と XML 技術を組み合わせて音声情報を送信できる新しい技術があります。
音声で情報を伝達する方法は新しいものではありません。それは私たちが何千年も使用してきたコミュニケーション方法です。また、コンピュータから電話を受けることは新しいことではありません。現在、FAX や自動ダイヤラから統合音声応答システム (IVR) に至るまで、多くの音声テクノロジーが普及しています。もちろん、最も一般的な用途は電話です。
従来の音声システムは、事前に録音されたサンプル、辞書、音素を使用して、私たちが聞く音を作成します。ただし、この事前に記録されたアプローチの使用には多くの問題があります。最も一般的な問題の 1 つは、一貫性と多様性の欠如です。音声の録音バージョンが 1 つだけで、各単語または音声のサンプルが 1 つしかない場合、コンピューターに通常の平叙文とは異なるイントネーションの質問を生成させるのは困難です。同様に難しいのは、特定のイントネーションをいつ使用するか、またはどのイントネーションを発音するかをコンピュータに認識させることです。
音声合成の問題の解決を支援するために、W3C は音声合成マークアップ言語の新しい作業草案を作成しました。この新しい XML 語彙を使用すると、音声ブラウザ開発者は音声合成装置の作成方法を制御できます。たとえば、開発者はボリュームにコマンドを含めて、音声パターンを合成するときにそれを使用できます。
SSML 仕様は、jspeeck Markup Language (JSML) と呼ばれる Sun による初期の研究成果に基づいています。 JSML は Java Speech API マークアップ言語に基づいています。 SSML は現在、W3C 音声研究ワーキング グループのワーキング ペーパーです。
SSML 言語の基本的な目標は、テキスト読み上げ (Text-To-Speech、略して TTS) プロセッサーです。 TTS エンジンはテキストのコレクションを取得し、それを音声に変換します。電話音声合成応答システムや、視覚障害者向けに設計されたより高度なシステムなど、すでにいくつかの TTS アプリケーションが存在しています。特定のテキスト コレクションの発音に固有の不確実性は、既存の TTS システムが直面する主な問題の 1 つです。その他の一般的な問題は、単語の略語 (HTML など) やスペルや発音が異なる単語 (召喚状など) など、品詞の発音に焦点を当てています。
SSML 言語の基本要素はテキストの形式を指定します。たとえば、HTML と比較して、SSML 言語は段落要素を提供し、さらに進化しています。文章要素も提供されるからです。開始アドレスと終了アドレスを含む段落などの文のアドレスを指定することにより、TTS エンジンは音声をより正確に生成できます。
基本的な形式に加えて、SSML は、あらかじめ決められた単語または単語のセットを送信する方法を指定する関数も提供します。この機能は、「say-as」要素によって実装されます。これは SSML の非常に便利なコンポーネントです。単語または一連の単語の発音方法を説明するテンプレートを指定できます。 「say-as」を使用すると、省略された単語の発音方法を指定したり、発音とは異なる綴りの単語の発音を指定したりできます。数値と日付の違いをリストすることもできます。 「say-as」要素には、電子メール アドレス、通貨、電話番号などのサポートが含まれます。
テキストの発音表現も提供できます。たとえば、この方法を使用して、アメリカ英語とイギリス英語のポテトという単語の発音の違いを指摘できます。
SSML 言語のいくつかの高度な属性は、TTS システムがより人間らしいサウンドを生成するのに役立ちます。 「voice」要素を使用して、男性、女性、または中性の声を指定できます。また、声が属する年齢も指定できます。この要素を使用して、4 歳の男の子から 75 歳の女性までのあらゆる音声を指定できます。
「強調」要素を使用して、強調する必要があるテキストや重要性の低いテキストを囲むこともできます。 「break」要素を使用して、音声をどこで一時停止するかをシステムに指示することもできます。
SSML 言語の最も高度な機能の 1 つは、その「PROsody」要素に反映されています。それを通じて、特定のテキストコレクションの音声を指定された方法で生成できます。音声のイントネーション、範囲、発話速度 (1 分あたりの語数) を指定できます。 「輪郭」要素を使用すると、より詳細なものを指定することもできます。 「輪郭」要素は、イントネーションと話す速度を統合します。テキスト コレクションの「輪郭」要素の値を指定することにより、音声がどのように生成されるかをより正確に定義できます。
上記は音声合成における XML の応用の内容です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。